通过 Markdown 改进 RAG 文档处理
关于NLP那些你不知道的事 2025年04月03日 08:01 广东
通过 Markdown 改进 RAG 文档处理
作者:Tableau
原文地址:https://zhuanlan.zhihu.com/p/29139791931
如何将 PDF 转换为 Markdown 以获得更好的 LLM RAG 结果
Markdown 是一种轻量级、易读的格式化文本语言。许多人可能通过 GitHub 的 README.md 文件熟悉 Markdown。
以下是一些基本的 Markdown 语法示例:
# Heading level 1
## Heading level 2
### Heading level 3
This is **bold text**.
This is *italicized text*.
> This text is a quote
This is how to do a link [Link Text](https://www.example.org)
This text is code
| Header 1 | Header 2 |
|------------|------------|
| table data | table data |
Markdown 正在成为大语言模型(LLMs)的流行格式。
Markdown 具有一些重要优势,例如[1]:
-
为标题、表格、列表、链接等提供结构
-
添加粗体或斜体等排版强调元素
-
易于编写且人类可读
-
已经广泛使用,例如在 GitHub 和 Jupyter notebooks 中
Markdown 不仅在 LLM 输入文档的上下文中有用,它也是像 ChatGPT 这样的聊天机器人格式化其响应的方式。注意 ChatGPT 的响应如何以大号粗体字呈现标题,并对关键词使用粗体文本。

在本文中,我们将在 LLM 和检索增强生成(RAG)的背景下探讨 Markdown。
比较 PDF 库
我们首先测试两个生成纯文本的流行 PDF 阅读器库。然后我们将尝试两个专门为 LLM 设计的新 PDF 阅读器,它们可以生成 Markup。
为了比较不同的 PDF 阅读器,我将使用 Docling 技术报告 2408.09869v3.pdf 作为我的输入 PDF 文件[2],该文件采用 CC BY 4.0 许可。
FILE = "./2408.09869v3.pdf"
PyPDF
PyPDF 是一个免费开源的 Python 库,我们可以用它来轻松读取 PDF 文档。
以下是如何使用 PyPDF 来从 PDF 文件中提取文本:
# pip install pypdf
from pypdf import PdfReader
reader = PdfReader(FILE)
pages = [page.extract_text() for page in reader.pages]
pypdf_text = "\n\n".join(pages)
输出的 pypdf_text 是一个包含提取文本的字符串。
Docling Technical Report
Version 1.0
Christoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos
Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer
Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima
Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar
AI4K Group, IBM Research
R¨uschlikon, Switzerland
Abstract
This technical report introduces Docling , an easy to use, self-contained, MIT-
licensed open-source package for PDF document conversion. It is powered by
state-of-the-art specialized AI models for layout analysis (DocLayNet) and table
structure recognition (TableFormer), and runs efficiently on commodity hardware
in a small resource budget. The code inte

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



