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 的缩写,有时风格化为 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​

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