非结构化
来自 Unstructured.IO 的
unstructured
包从原始源文档(如 PDF 和 Word 文档)中提取干净的文本。本页介绍了如何在 LangChain 中使用unstructured
生态系统。
安装和设置
如果您正在使用在本地运行的加载器,请按照以下步骤运行 unstructured
及其依赖项。
-
为了获得最小的安装占用空间并利用开源
unstructured
包中不可用的功能,请安装带有pip install unstructured-client
的 Python SDK 以及pip install langchain-unstructured
,以使用UnstructuredLoader
并针对 Unstructured API 进行远程分区。此加载器位于 LangChain 合作伙伴仓库中,而不是langchain-community
仓库中,您将需要一个api_key
,您可以在此处生成一个免费密钥。- Unstructured 的 SDK 文档可以在这里找到:https://docs.unstructured.io/api-reference/api-services/sdk
-
要在本地运行所有内容,请安装带有
pip install unstructured
的开源 Python 包以及pip install langchain-community
,并使用上面提到的相同的UnstructuredLoader
。- 您可以使用 extras 安装特定于文档的依赖项,例如
pip install "unstructured[docx]"
。在此处了解更多关于 extras 的信息 这里。 - 要安装所有文档类型的依赖项,请使用
pip install "unstructured[all-docs]"
。
- 您可以使用 extras 安装特定于文档的依赖项,例如
-
如果您的系统上尚不可用,请安装以下系统依赖项,例如,使用 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”文件扩展名的电子书文件格式
。该术语是电子出版物的缩写,有时也被称为 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 应用程序的开放文档格式 (ODF)
,也称为 OpenDocument
,是一种用于文字处理文档、电子表格、演示文稿和图形的开放文件格式,并使用 ZIP 压缩的 XML 文件。它的开发目的是为办公应用程序提供一个开放的、基于 XML 的文件格式规范。
查看使用示例。
from langchain_community.document_loaders import UnstructuredODTLoader
UnstructuredOrgModeLoader
Org 模式文档是一种文档编辑、格式化和组织模式,专为自由软件文本编辑器 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