Skip to main content
本指南提供了快速入门 PyMuPDF4LLMLoader 文档加载器的概览。有关所有 PyMuPDF4LLMLoader 功能和配置的详细文档,请访问 GitHub 仓库

概览

集成详情

加载器功能

设置

要访问 PyMuPDF4LLM 文档加载器,您需要安装 langchain-pymupdf4llm 集成包。

凭证

使用 PyMuPDF4LLMLoader 不需要任何凭证。 要启用模型调用的自动跟踪,请设置您的 LangSmith API 密钥:

安装

安装 langchain-communitylangchain-pymupdf4llm

初始化

现在我们可以实例化模型对象并加载文档:

加载

懒加载

元数据属性至少包含以下键:
  • source
  • page(如果在 page 模式下)
  • total_page
  • creationdate
  • creator
  • producer
其他元数据特定于每个解析器。 这些信息可能很有用(例如,用于对您的 PDF 进行分类)。

分割模式与自定义页面分隔符

加载 PDF 文件时,您可以通过两种不同的方式进行分割:
  • 按页面
  • 作为单个文本流
默认情况下,PyMuPDF4LLMLoader 将按页面分割 PDF。

按页面提取 PDF。每一页都被提取为一个 langchain 文档对象

在此模式下,PDF 按页面分割,生成的文档元数据包含 page(页码)。但在某些情况下,我们可能希望将 PDF 作为单个文本流处理(这样就不会将某些段落一分为二)。在这种情况下,您可以使用 single 模式:

将整个 PDF 提取为单个 langchain 文档对象

逻辑上,在此模式下,page(page_number)元数据消失了。以下是如何在文本流中清晰标识页面结束位置的方法:

single 模式下添加自定义 pages_delimiter 以标识页面结束位置

默认的 pages_delimiter 是 \n-----\n\n。 这可以简单地是 \n,或 \f 以明确指示页面更改,或 <!— PAGE BREAK —> 以便在 Markdown 查看器中无缝注入而没有视觉效果。

从 PDF 中提取图像

您可以从 PDF 中提取图像(以文本形式),有三种不同的解决方案可供选择:
  • rapidOCR(轻量级光学字符识别工具)
  • Tesseract(高精度 OCR 工具)
  • 多模态语言模型
结果将插入到页面文本的末尾。

使用 rapidOCR 从 PDF 中提取图像

请注意,RapidOCR 旨在处理中文和英文,不支持其他语言。

使用 tesseract 从 PDF 中提取图像

使用多模态模型从 PDF 中提取图像

从 PDF 中提取表格

使用 PyMUPDF4LLM,您可以以 markdown 格式从 PDF 中提取表格:

处理文件

许多文档加载器涉及解析文件。此类加载器之间的差异通常源于文件的解析方式,而不是文件的加载方式。例如,您可以使用 open 读取 PDF 或 markdown 文件的二进制内容,但需要不同的解析逻辑将该二进制数据转换为文本。 因此,将解析逻辑与加载逻辑解耦会很有帮助,这使得无论数据如何加载,都更容易重用给定的解析器。 您可以使用此策略,使用相同的解析参数分析不同的文件。

API 参考

有关所有 PyMuPDF4LLMLoader 功能和配置的详细文档,请访问 GitHub 仓库:github.com/lakinduboteju/langchain-pymupdf4llm