AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


为什么它是从PDF中解析数据的最佳工具?PDF文件解析新选择,构建LLM 大模型数据基础
发布日期:2024-11-07 07:51:19 浏览次数: 1642 来源:码科智能



我们希望有一个易于安装又尽可能简单易用的工具,可以将任何PDF文件解析成机器和LLM可读的markdown格式,无论PDF有多复杂(包括带有文本/表格/图片的文档)并保存在本地文件系统中。

但老实说:并非所有 PDF 提取工具都能胜任上述任务。我们都知道处理 PDF 时的情况,尤其是当这些 PDF 是密集的研究论文或包含表格、图像和元数据的文档时,一些常规的PDF解析工具直接GG了。直到我发现了 PyMuPDF4LLM — 一个很快成为我处理 PDF 所有内容的首选工具。

支持从非结构化文档中提取表格

1. 我们在实际工作中都面临的PDF困境?

”想象一下:你正在从事一个项目,该项目涉及针对特定领域的任务(例如,法律文件或科学论文)微调 LLM。您需要在保持结构的同时提取文本,提取一些表格,并获取高质量的图像以进行模型训练。听起来很简单,对吧?

但使用大多数 PDF 工具,您要么得到丢失上下文的乱码文本,要么更糟糕的是,图像更像是“低质量”而不是有用的数据。甚至有些工具完全错过表格或弄乱了单词对齐。

这就是 PyMuPDF4LLM 的用武之地。它灵活、快速,几乎可以处理任何数据提取任务。无论您是在构建基于 LLM 的应用程序,还是只需要准备数据以进行微调,此工具都能满足您的需求。

2. 为什么PyMuPDF4LLM在LLM任务中效果如此好?


多功能 Markdown 提取 :无论提取基本文本还是对其进行结构化以进行微调,PyMuPDF4LLM 都以易于阅读的 Markdown 格式提供所有内容。它快速、高效,并确保所有内容(文本、图像、表格和元数据)都以 LLM 可以直接使用的格式捕获

应用灵活性 : 不仅适合文本提取。还可以按页提取数据,将其保存为 RAG 任务所需的格式,或直接将其管道传输到 LlamaIndex(用于嵌入和文档搜索)等框架中。

综合提取 :这个工具不仅仅是抓取纯文本,它还提供图像提取、逐字分块 、 表格提取等。支持图像和矢量图形提取(以及在 MD 文本中包含参考资料)。

3. 如何提取精确的数据及使用用例?


pip install pymupdf4llm

在这个例子中,使用 PyMuPDF4LLM 将研究论文的内容提取成 Markdown 格式,可以提取文本,包括标题、列表和其他格式为什么选择 Markdown?它非常适合微调模型,因为它保留了结构和格式,这对于从 LLM 生成连贯的响应至关重要。
import pymupdf4llm# Extract PDF content as Markdownmd_text = pymupdf4llm.to_markdown("input.pdf")print(md_text[:500])# Print first 500 characters

可以准确定位要提取的页面,从而节省时间和资源。此功能在处理大量文档时特别有用。例如,提取特定的章节或章节可以很容易地只使用最相关的信息来训练 LLM。
import pymupdf4llm# Extract only pages 10 and 11md_text = pymupdf4llm.to_markdown("bengio03a.pdf", pages=[10, 11])print(md_text[:500])# Print first 500 characters

将提取的数据存储在 Markdown 中可以轻松协作或审查,尤其是在为 LLM 微调准备数据时。保存的灵活性使其非常适合以增量方式构建数据集。
import pymupdf4llmllama_reader = pymupdf4llm.LlamaMarkdownReader()llama_docs = llama_reader.load_data("bengio03a.pdf")print(f"Number of LlamaIndex documents: {len(llama_docs)}")print(f"Content of first document: {llama_docs[0].text[:500]}")

当处理包含大量视觉数据的技术文档或报告时,这是完美的选择,即使对于高分辨率图像也能很好地工作。另外表格通常包含关键数据,尤其是在技术文档中,PyMuPDF4LLM 确保这些数据被准确提取,为下游分析做好准备。

import pymupdf4llmimport json
md_text_images = pymupdf4llm.to_markdown(doc="bengio03a.pdf", pages=[1, 11], page_chunks=True, write_images=True, image_path="images", image_format="jpg", dpi=200)print(md_text_images[0]['images'])# Print image information from the first chunk
md_text_tables = pymupdf4llm.to_markdown(doc="bengio03a.pdf", pages=[12],# Specify pages containing tables )print(md_text_tables)
在多个项目中广泛使用 PyMuPDF4LLM 之后,我可以自信地说它是用于 LLM 任务的最通用和最可靠的 PDF 数据提取工具。无论您是在构建 RAG 系统、微调 LLM,还是只需要一个可靠的PDF 提取工具,都可以尝试一下 PyMuPDF4LLM。它精简、高效,而且根据我的经验,它就是有效的。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询