添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
温暖的水煮鱼  ·  C# ...·  1 周前    · 
旅行中的充值卡  ·  adobe acrobat xi pro ...·  6 天前    · 
不开心的烤面包  ·  adobe acrobat xi ...·  6 天前    · 
不敢表白的沙滩裤  ·  adobe acrobat xi ...·  6 天前    · 
爱看球的签字笔  ·  yaml-cpp ...·  9 月前    · 
瘦瘦的柚子  ·  Qt ...·  1 年前    · 
健壮的充值卡  ·  SseEmitter cannot ...·  1 年前    · 
🎉 学 LangChain 免费领 openAI GPT key 限额1000名 →
核心模块(Modules)
数据连接(DataConnection)
文档加载器(DocumentLoaders)
PDF(Pdf)

PDF

便携式文档格式(PDF) (opens in a new tab) ,简称ISO 32000,是Adobe于1992年开发的文件格式,用于呈现文档,包括文字格式和图像,与应用软件,硬件和操作系统无关。

本篇介绍如何将 PDF 文档加载到我们后续使用的文档格式中。

使用PyPDF

使用 pypdf 将PDF加载到文档数组中,每个文档包含页面内容和具有 page 编号的元数据。

pip install pypdf
from langchain_community.document_loaders import PyPDFLoader
loader = PyPDFLoader("example_data/layout-parser-paper.pdf")
pages = loader.load_and_split()
pages[0]

使用 rapidocr-onnxruntime 包可以将图像提取为文本:

pip install rapidocr-onnxruntime
loader = PyPDFLoader("https://arxiv.org/pdf/2103.15348.pdf", extract_images=True)
pages = loader.load()
pages[4].page_content

使用MathPix

受Daniel Gross的 https://gist.github.com/danielgross/3ab4104e14faccc12b49200843adab21 (opens in a new tab) 的启发

from langchain_community.document_loaders import MathpixPDFLoader
loader 




    
= MathpixPDFLoader("example_data/layout-parser-paper.pdf")
data = loader.load()

使用无结构化

from langchain_community.document_loaders import UnstructuredPDFLoader
loader = UnstructuredPDFLoader("example_data/layout-parser-paper.pdf")
data = loader.load()

底层,Unstructured为不同的文本块创建不同的“元素”。默认我们将它们组合在一起,但是您可以通过指定 mode="elements" 来保留此分隔。

loader = UnstructuredPDFLoader("example_data/layout-parser-paper.pdf", mode="elements")
data 




    
= loader.load()
data[0]

获取远程PDF使用无结构化

这包括如何将在线PDF加载到我们可以在下游使用的文档格式中。这可用于各种在线PDF站点,如 https://open.umn.edu/opentextbooks/textbooks/和https://arxiv.org/archive/。 (opens in a new tab)

请注意:所有其他PDF加载程序也可以用于获取远程PDF,但 OnlinePDFLoader 是一个遗留函数,专门与 UnstructuredPDFLoader 一起使用。

from langchain_community.document_loaders import OnlinePDFLoader
loader = OnlinePDFLoader("https://arxiv.org/pdf/2302.03803.pdf")
data = loader.load()
print(data)

使用MathPix

OpenAIEmbeddings 下我们想使用 OpenAI API Key

import os
import getpass
os.environ['OPENAI_API_KEY'] = getpass.getpass('OpenAI API Key:')

使用Unstructured

from langchain_community.document_loaders import OnlinePDFLoader