Skip to main content
本笔记本介绍了如何使用 Unstructured 文档加载器加载多种类型的文件。Unstructured目前支持加载文本文件、PowerPoint、HTML、PDF、图像等。 请参阅 Unstructured 了解更多关于本地设置 Unstructured 的说明,包括设置所需的系统依赖项。

概述

集成细节

加载器功能

设置

凭证

默认情况下,langchain-unstructured安装了一个较小的占用空间,需要将分区逻辑卸载到 Unstructured API,这需要一个API密钥。如果你使用本地安装,则不需要API密钥。要获取你的API密钥,请前往 此网站 获取API密钥,然后在下方单元格中设置它:

安装

正常安装

运行此笔记本的其余部分需要以下包。

本地安装

如果你希望本地运行分区逻辑,你需要安装一系列系统依赖项,如 Unstructured 文档中所述。 例如,在Mac上,你可以使用以下命令安装所需的依赖项:
你可以使用以下命令安装本地所需的 pip 依赖项:

初始化

UnstructuredLoader 允许从各种不同的文件类型加载。要了解 unstructured 包的更多信息,请参阅其 文档。在本示例中,我们展示了从文本文件和PDF文件加载。

加载

懒加载

后处理

如果您需要在提取后对 unstructured 元素进行后处理,可以在实例化 UnstructuredLoader 时通过 post_processors 参数传入一个 str -> str 函数列表。这同样适用于其他 Unstructured 加载器。以下是一个示例。

Unstructured API

如果您想使用更小的包并获取最新的分区功能,可以执行 pip install unstructured and pip install langchain-unstructured。有关 UnstructuredLoader 的更多信息,请参阅 Unstructured 提供商页面。 当您传入 api_key 并设置 partition_via_api=True 时,加载器将使用托管的 Unstructured 无服务器 API 处理您的文档。您可以通过 Unstructured 平台 获取 API 密钥。 如果您想自托管 Unstructured API 或在本地运行它,请查看 自托管 Unstructured API 的 Docker 镜像说明。
您还可以通过 Unstructured API 在单个 API 调用中批量处理多个文件,使用 UnstructuredLoader。

Unstructured SDK 客户端

使用 Unstructured API 进行分区依赖于 Unstructured SDK 客户端。 如果您想自定义客户端,需要将一个 UnstructuredClient 实例传递给 UnstructuredLoader。以下示例展示了如何自定义客户端功能,例如使用您自己的 requests.Session()、传递替代的 server_url 以及自定义 RetryConfig 对象。有关自定义客户端或 SDK 客户端接受的其他参数的信息,请参阅 Unstructured Python SDK 文档和 API 参数 文档的客户端部分。请注意,所有 API 参数都应传递给 UnstructuredLoader。
警告:以下示例可能未使用最新版本的 UnstructuredClient,未来版本中可能会有破坏性更改。有关最新示例,请参阅 Unstructured Python SDK 文档。

分块

UnstructuredLoader 不支持 mode 作为参数来分组文本,如旧版加载器 UnstructuredFileLoader 和其他加载器所做的那样。相反,它支持“分块”。Unstructured 中的分块与其他基于纯文本特征(如 “\n\n” 或 “\n” 等字符序列,这些可能表示段落边界或列表项边界)形成块的分块机制不同。相反,所有文档都使用关于每种文档格式的特定知识来分割文档,将其划分为语义单元(文档元素),并且仅在单个元素超过所需最大块大小时才需要使用文本分割。通常,分块将连续元素组合成尽可能大的块,而不会超过最大块大小。分块产生一系列 CompositeElement、Table 或 TableChunk 元素。每个“块”是这三种类型之一的一个实例。 有关分块选项的更多详细信息,请参阅此 页面,但要在 mode="single" 的行为相同,您可以设置 chunking_strategy="basic"、max_characters=<some-really-big-number> 和 include_orig_elements=False。

加载网页

UnstructuredLoader 在本地运行时接受一个 web_url 参数,该参数填充底层 Unstructured 分区 的 url 参数。这允许解析远程托管的文档,例如 HTML 网页。 示例用法:

API 参考

有关所有 UnstructuredLoader 功能和配置的详细文档,请访问 API 参考
官方原文:src/oss/python/integrations/document_loaders/unstructured_file.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026