# PDFs for LLM

- Page: https://shared.btbytes.com/p/pdfs-for-llm
- Date: 2025-08-09

Extracting content, and retaining all the *semantic* information presented in texts, tables, charts, graphs, and other visual elements in a manner that is most suitable for consumption by LLMs, especially when used in conjunction with [RAG](https://shared.btbytes.com/p/rag) is still a hard problem.

There are many compnanies, research teams and  open source projects attempting to solve this at the document level and as a pipeline.

Some of the ones that are the top of my head right now (2025-08) are:

## Open Source Projects

- [Docling](https://docling-project.github.io/docling/) by IBM Zurich Research, and SmolDocling; see ([Team 2024](https://arxiv.org/abs/2408.09869))
- [Dolphin](https://github.com/bytedance/Dolphin) by ByteDance; see ([Feng et al. 2025](https://arxiv.org/abs/2505.14059))
- [roe-ai/vectorless](https://github.com/roe-ai/vectorless) by [AI SaaS](https://shared.btbytes.com/p/ai-saas) -- "PDF chatbot that uses **no vector embeddings** or traditional RAG. Instead, it leverages Large Language Models for intelligent document selection and page relevance detection, providing a completely stateless and privacy-first experience."

## Supporting Libraries

- pypdf2
- [GitHub - pypdfium2-team/pypdfium2: Python bindings to PDFium, reasonably cross-platform.](https://github.com/pypdfium2-team/pypdfium2) (mentioned in docling paper, as well as used in datalab-to/marker)
- #todo (one used in tensorlake)

## Companies

See [Running Notes on RAG](https://shared.btbytes.com/p/running-notes-on-rag)

- [Datalab](https://www.datalab.to/); see [GitHub - datalab-to/marker: Convert PDF to markdown + JSON quickly with high accuracy](https://github.com/datalab-to/marker)


## References

- Team (2024). [Docling Technical Report](https://arxiv.org/abs/2408.09869).
- Feng, Wei, Fei, Shi, Han, Liao, Lu, Wu, Liu, Lin, others (2025). [Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting](https://arxiv.org/abs/2505.14059).
