Unstructured
来自 Unstructured.IO 的
unstructured
包可以从 PDF 和 Word 文档等原始源文档中提取干净的文本。本页面介绍如何在 LangChain 中使用unstructured
生态系统。
安装与设置
如果您正在使用本地运行的加载器,请按照以下步骤启动 unstructured
及其依赖项。
-
为了最小化安装占用空间并利用开源
unstructured
包中未提供的功能,请安装 Python SDK,使用pip install unstructured-client
和pip install langchain-unstructured
来使用UnstructuredLoader
并通过 Unstructured API 进行远程分区。此加载器位于 LangChain 合作伙伴仓库中,而非langchain-community
仓库,您将需要一个api_key
,您可以在此处生成免费密钥。- Unstructured 的 SDK 文档可在此处找到:https://docs.unstructured.io/api-reference/api-services/sdk
-
要在本地运行所有内容,请安装开源 Python 包,使用
pip install unstructured
和pip install langchain-community
,并使用上述相同的UnstructuredLoader
。- 您可以使用 extra 额外项安装特定文档的依赖项,例如
pip install "unstructured[docx]"
。在此处了解有关 extra 额外项的更多信息。 - 要安装所有文档类型的依赖项,请使用
pip install "unstructured[all-docs]"
。
- 您可以使用 extra 额外项安装特定文档的依赖项,例如
-
如果您的系统上尚未安装以下系统依赖项(例如,Mac 上使用
brew install
),请安装它们。根据您解析的文档类型,您可能不需要所有这些依赖项。libmagic-dev
(文件类型检测)poppler-utils
(图像和 PDF)tesseract-ocr
(图像和 PDF)qpdf
(PDF)libreoffice
(MS Office 文档)pandoc
(EPUB)
-
在本地运行时,Unstructured 还建议遵循本指南使用 Docker,以确保所有系统依赖项都正确安装。
Unstructured API 需要 API 密钥才能发出请求。您可以在此处请求 API 密钥,并立即开始使用!请查看此处的 README 文件,开始进行 API 调用。我们很乐意听取您的反馈,请在我们的社区 Slack 中告诉我们进展如何。敬请关注质量和性能方面的改进!如果您想自托管 Unstructured API 或在本地运行它,请查看此处的说明。
数据加载器
Unstructured
的主要用途是数据加载器。
UnstructuredLoader
请参阅使用示例,了解如何使用此加载器通过无服务器 Unstructured API 在本地和远程进行分区。
from langchain_unstructured import UnstructuredLoader
UnstructuredCHMLoader
CHM
表示 Microsoft Compiled HTML Help
。
from langchain_community.document_loaders import UnstructuredCHMLoader
UnstructuredCSVLoader
逗号分隔值
(CSV
) 文件是一种使用逗号分隔值的有界文本文件。文件的每一行都是一个数据记录。每个记录由一个或多个字段组成,字段之间用逗号分隔。
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredCSVLoader
UnstructuredEmailLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredEmailLoader
UnstructuredEPubLoader
EPUB 是一种使用“.epub”文件扩展名的电子书文件格式
。该术语是 electronic publication(电子出版物)的缩写,有时也写作 ePub
。许多电子阅读器都支持 EPUB
,并且大多数智能手机、平板电脑和计算机都提供兼容软件。
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredEPubLoader
UnstructuredExcelLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredExcelLoader
UnstructuredFileIOLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredFileIOLoader
UnstructuredHTMLLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredHTMLLoader
UnstructuredImageLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredImageLoader
UnstructuredMarkdownLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredMarkdownLoader
UnstructuredODTLoader
Office Applications 的开放文档格式 (ODF)
,也称为 OpenDocument
,是一种开放文件格式,用于字处理文档、电子表格、演示文稿和图形,并使用 ZIP 压缩的 XML 文件。它的开发旨在为办公应用程序提供一个开放的、基于 XML 的文件格式规范。
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredODTLoader
UnstructuredOrgModeLoader
Org Mode 文档是一种文档编辑、格式化和组织模式,旨在用于自由软件文本编辑器 Emacs 中的笔记、规划和创作。
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredOrgModeLoader
UnstructuredPDFLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredPDFLoader
UnstructuredPowerPointLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredPowerPointLoader
UnstructuredRSTLoader
reStructured Text (RST
) 文件是一种文本数据文件格式,主要在 Python 编程语言社区中用于技术文档。
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredRSTLoader
UnstructuredRTFLoader
请参阅 API 文档中的使用示例。
from langchain_community.document_loaders import UnstructuredRTFLoader
UnstructuredTSVLoader
制表符分隔值
(TSV
) 文件是一种简单、基于文本的文件格式,用于存储表格数据。记录由换行符分隔,记录中的值由制表符分隔。
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredTSVLoader
UnstructuredURLLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredURLLoader
UnstructuredWordDocumentLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredWordDocumentLoader
UnstructuredXMLLoader
请参阅使用示例。
from langchain_community.document_loaders import UnstructuredXMLLoader