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,您可以在此处生成一个免费密钥。

  • 要完全在本地运行,请使用pip install unstructured安装开源的Python包, 同时安装pip install langchain-community并使用上述提到的相同UnstructuredLoader

    • 您可以使用额外选项安装特定于文档的依赖项,例如 pip install "unstructured[docx]"。了解更多关于额外选项的信息,请点击这里
    • 要安装所有文档类型的依赖项,请使用 pip install "unstructured[all-docs]"
  • 如果您的系统尚未安装以下系统依赖项,请使用例如 brew install 在 Mac 上进行安装。 根据您要解析的文档类型,可能不需要所有这些依赖项。

    • 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 参考: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 是一种使用“.epub”文件扩展名的 e-book file format。该术语是电子出版物的缩写,有时也写作 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

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

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

查看一个 使用示例

from langchain_community.document_loaders import UnstructuredRSTLoader

UnstructuredRTFLoader

在API文档中查看使用示例。

from langchain_community.document_loaders import UnstructuredRTFLoader

UnstructuredTSVLoader

一个 tab-separated valuesTSV)文件是一种用于存储表格数据的简单文本文件格式。 记录之间通过换行分隔,记录中的值通过制表符分隔。

查看一个 使用示例

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