Skip to main content
本指南提供了快速入门 PyPDF 文档加载器 的概述。有关所有 DocumentLoader 功能和配置的详细文档,请参阅 API 参考

概述

集成详情


加载器特性

设置

凭证

使用 PyPDFLoader 无需凭证。 要启用模型调用的自动追踪,请设置您的 LangSmith API 密钥:

安装

安装 langchain-communitypypdf

初始化

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

加载

惰性加载

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

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

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

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

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

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

逻辑上,在此模式下,“page_number”元数据会消失。以下是如何在文本流中清晰标识页面结束位置:

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

这可以简单地是 \n,或 \f 来清晰指示页面更改,或 <!— PAGE BREAK —> 以便在 Markdown 查看器中无缝注入而不产生视觉影响。

从 PDF 中提取图像

您可以从 PDF 中提取图像,有三种不同的解决方案可供选择:
  • rapidOCR(轻量级光学字符识别工具)
  • Tesseract(高精度 OCR 工具)
  • 多模态语言模型
您可以调整这些函数,以选择提取图像的输出格式,包括 htmlmarkdowntext 结果将插入到页面文本的倒数第二段和最后一段之间。

使用 rapidOCR 从 PDF 中提取图像

请注意,RapidOCR 设计用于处理中文和英文,不支持其他语言。

使用 tesseract 从 PDF 中提取图像

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

处理文件

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

API 参考

有关所有 PyPDFium2Loader 功能和配置的详细文档,请参阅 API 参考