Skip to main content
Open on GitHub

Unstructured

The unstructured package from Unstructured.IO extracts clean text from raw source documents like PDFs and Word documents. This page covers how to use the unstructured ecosystem within LangChain.

安装与设置

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

  • 对于最小的安装空间以及利用开源unstructured包中不可用的功能,使用pip install unstructured-client安装Python SDK,并与pip install langchain-unstructured一起使用,以便利用UnstructuredLoader和远程针对Unstructured API进行分区。此加载器位于LangChain合作伙伴仓库而不是langchain-community仓库中,您将需要一个api_key,您可以在这里生成一个免费密钥 这里

  • 要本地运行一切内容,请安装开源Python包pip install unstructured,并使用与上述相同的UnstructuredLoader。同时需要安装pip install langchain-community

    • 您可以使用 extras 安装文档特定的依赖项,例如 pip install "unstructured[docx]"。有关 extras 的更多信息,请参阅 这里
    • 要安装所有文档类型的依赖项,请使用pip install "unstructured[all-docs]"
  • 安装以下系统依赖项(如果它们尚未在您的系统上可用),例如使用 brew install 适用于 Mac。 根据您需要解析的文档类型,可能不需要所有这些依赖项。

    • libmagic-dev (文件类型检测)
    • poppler-utils (images and PDFs)
    • tesseract-ocr (images and PDFs)
    • qpdf (PDF)
    • libreoffice (MS Office docs)
    • pandoc (EPUBs)
  • 当本地运行时,Unstructured 还建议通过遵循此指南使用 Docker 确保所有系统依赖项安装正确。

The Unstructured API 需要 API 密钥才能发起请求。 您可以在 这里 请求一个 API 密钥,并从今天开始使用它! 查看 README 这里 以了解如何开始调用 API。 我们很乐意听到您的反馈,请在我们的 社区 Slack 上告诉我们进展情况。 并且请关注我们将持续改进 API 的质量和性能! 如果您希望自行托管 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

一个 comma-separated values (CSV) 文件是一个使用逗号分隔值的分隔文本文件。文件中的每一行都是一个数据记录。 每一条记录由一个或多个字段组成,这些字段通过逗号分隔。

查看 使用示例

from langchain_community.document_loaders import UnstructuredCSVLoader

UnstructuredEmailLoader

查看 使用示例

from langchain_community.document_loaders import UnstructuredEmailLoader

UnstructuredEPubLoader

EPUB 是一种 e-book file format,使用扩展名为 “.epub”的文件格式。该术语意为电子出版物,并且有时会以 ePub 的形式呈现。EPUB 被许多电子阅读器支持,而且大多数智能手机、平板电脑和计算机都可兼容相应的软件。

查看 使用示例

from langchain_community.document_loaders import UnstructuredEPubLoader

未结构化Excel加载器

查看 使用示例

from langchain_community.document_loaders import UnstructuredExcelLoader

UnstructuredFileIOLoader

查看 使用示例

from langchain_community.document_loaders import UnstructuredFileIOLoader

未结构化HTML加载器

查看 使用示例

from langchain_community.document_loaders import UnstructuredHTMLLoader

UnstructuredImageLoader

查看 使用示例

from langchain_community.document_loaders import UnstructuredImageLoader

UnstructuredMarkdownLoader

查看 使用示例

from langchain_community.document_loaders import UnstructuredMarkdownLoader

UnstructuredODTLoader

The Open Document Format for 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

非结构化PDF加载器

查看 使用示例

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

A tab-separated values (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