微信扫码
与创始人交个朋友
我要投稿
我们希望有一个易于安装又尽可能简单易用的工具,可以将任何PDF文件解析成机器和LLM可读的markdown格式,无论PDF有多复杂(包括带有文本/表格/图片的文档),并保存在本地文件系统中。
但老实说:并非所有 PDF 提取工具都能胜任上述任务。我们都知道处理 PDF 时的情况,尤其是当这些 PDF 是密集的研究论文或包含表格、图像和元数据的文档时,一些常规的PDF解析工具直接GG了。直到我发现了 PyMuPDF4LLM — 一个很快成为我处理 PDF 所有内容的首选工具。
支持从非结构化文档中提取表格
1. 我们在实际工作中都面临的PDF困境?
”想象一下:你正在从事一个项目,该项目涉及针对特定领域的任务(例如,法律文件或科学论文)微调 LLM。您需要在保持结构的同时提取文本,提取一些表格,并获取高质量的图像以进行模型训练。听起来很简单,对吧?
但使用大多数 PDF 工具,您要么得到丢失上下文的乱码文本,要么更糟糕的是,图像更像是“低质量”而不是有用的数据。甚至有些工具完全错过表格或弄乱了单词对齐。
这就是 PyMuPDF4LLM 的用武之地。它灵活、快速,几乎可以处理任何数据提取任务。无论您是在构建基于 LLM 的应用程序,还是只需要准备数据以进行微调,此工具都能满足您的需求。
2. 为什么PyMuPDF4LLM在LLM任务中效果如此好?
多功能 Markdown 提取 :无论提取基本文本还是对其进行结构化以进行微调,PyMuPDF4LLM 都以易于阅读的 Markdown 格式提供所有内容。它快速、高效,并确保所有内容(文本、图像、表格和元数据)都以 LLM 可以直接使用的格式捕获。
综合提取 :这个工具不仅仅是抓取纯文本,它还提供图像提取、逐字分块 、 表格提取等。支持图像和矢量图形提取(以及在 MD 文本中包含参考资料)。
3. 如何提取精确的数据及使用用例?
pip install pymupdf4llm
import pymupdf4llm# Extract PDF content as Markdownmd_text = pymupdf4llm.to_markdown("input.pdf")print(md_text[:500])# Print first 500 characters
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
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 pymupdf4llm
import 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)
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-23
一文详谈20多种RAG优化方法
2024-12-23
深入RAG工作流:检索生成的最佳实践
2024-12-23
o1 pro “碾压式”洞察:世界顶尖免疫学专家被机器深度分析“惊醒”
2024-12-23
使用 Lang Chain 和 Lang Graph 构建多代理 RAG :分步指南 + Gemma 2
2024-12-23
RAG评估框架:RAG Triad框架及其实战
2024-12-22
2个简单技巧把 RAG 检索准确率从 50% 提高到 95 %
2024-12-22
Browser-Use + LightRAG Agent:可使用 LLM 抓取 99% 的网站
2024-12-22
Dynamic RAG实战:解决知识增强中的动态更新挑战
2024-07-18
2024-05-05
2024-06-20
2024-09-04
2024-05-19
2024-07-09
2024-07-09
2024-07-07
2024-07-07
2024-06-13
2024-12-21
2024-12-14
2024-12-01
2024-11-27
2024-11-25
2024-11-06
2024-11-06
2024-11-05