Skip to main content
Open on GitHub

Unstructured

unstructured 包,来自 Unstructured.IO,可以从 PDF 和 Word 文档等原始源文档中提取干净的文本。 此页面介绍如何在 LangChain 中使用 unstructured 生态系统。

安装和设置

如果您使用的是本地运行的加载器,请按照以下步骤设置 unstructured 及其依赖项。

  • 为了获得最小的安装占地面积并利用 Unstructured 开放源代码包中未提供的功能,请使用 pip install unstructured-client 安装 Python SDK,以及 pip install langchain-unstructured 以便远程使用 UnstructuredLoader 和 Unstructured API 进行分区。此加载器位于 LangChain 合作伙伴存储库中,而不是 langchain-community 存储库中,您将需要一个 api_key,您可以在此处生成免费密钥。

  • 要在本地运行所有内容,请使用 pip install unstructured 安装开放源代码 Python 包,并使用 pip install langchain-community,以及使用上面提到的相同的 UnstructuredLoader

    • 您可以使用 extras 安装特定文档的依赖项,例如 pip install "unstructured[docx]"。在此详细了解 extras。
    • 要安装所有文档类型的依赖项,请使用 pip install "unstructured[all-docs]"
  • 如果您的系统上还没有下面这些系统依赖项,请安装它们(例如 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
API Reference:UnstructuredLoader

UnstructuredCHMLoader

CHM 指的是 Microsoft Compiled HTML Help

from langchain_community.document_loaders import UnstructuredCHMLoader
API Reference:UnstructuredCHMLoader

UnstructuredCSVLoader

逗号分隔值 (CSV) 文件是一种分隔文本文件,它使用逗号分隔值。文件的每一行都是一个数据记录。 每条记录包含一个或多个字段,字段之间用逗号分隔。

请参阅使用示例

from langchain_community.document_loaders import UnstructuredCSVLoader
API Reference:UnstructuredCSVLoader

UnstructuredEmailLoader

请参阅使用示例

from langchain_community.document_loaders import UnstructuredEmailLoader

UnstructuredEPubLoader

EPUB 是一种电子书文件格式,使用 “.epub” 文件扩展名。该术语是 electronic publication 的缩写,有时风格化为 ePubEPUB 被许多电子阅读器支持,并且有适用于大多数智能手机、平板电脑和计算机的兼容软件。

请参阅使用示例

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

Open Document Format for Office Applications (ODF),也称为 OpenDocument, 是一种用于文字处理文档、电子表格、演示文稿和图形的开放文件格式,它使用 ZIP 压缩的 XML 文件。它旨在为办公应用程序提供开放的、基于 XML 的文件格式规范。

请参阅使用示例

from langchain_community.document_loaders import UnstructuredODTLoader
API Reference:UnstructuredODTLoader

UnstructuredOrgModeLoader

Org Mode 文档是一种文档编辑、格式化和组织模式,专为自由软件文本编辑器 Emacs 中的笔记、规划和创作而设计。

请参阅使用示例

from langchain_community.document_loaders import UnstructuredOrgModeLoader

UnstructuredPDFLoader

请参阅使用示例

from langchain_community.document_loaders import UnstructuredPDFLoader
API Reference:UnstructuredPDFLoader

UnstructuredPowerPointLoader

请参阅使用示例

from langchain_community.document_loaders import UnstructuredPowerPointLoader

UnstructuredRSTLoader

reStructured Text (RST) 文件是一种用于文本数据的格式, 主要用于 Python 编程语言社区的技术文档。

请参阅使用示例

from langchain_community.document_loaders import UnstructuredRSTLoader
API Reference:UnstructuredRSTLoader

UnstructuredRTFLoader

请在 API 文档中参阅使用示例。

from langchain_community.document_loaders import UnstructuredRTFLoader
API Reference:UnstructuredRTFLoader

UnstructuredTSVLoader

制表符分隔值 (TSV) 文件是一种简单的基于文本的文件格式,用于存储表格数据。 记录由换行符分隔,记录内的值由制表符分隔。

请参阅使用示例

from langchain_community.document_loaders import UnstructuredTSVLoader
API Reference:UnstructuredTSVLoader

UnstructuredURLLoader

请参阅使用示例

from langchain_community.document_loaders import UnstructuredURLLoader
API Reference:UnstructuredURLLoader

UnstructuredWordDocumentLoader

请参阅使用示例

from langchain_community.document_loaders import UnstructuredWordDocumentLoader

UnstructuredXMLLoader

请参阅使用示例

from langchain_community.document_loaders import UnstructuredXMLLoader
API Reference:UnstructuredXMLLoader