Unstructured 使用介绍:功能、价格与上手指南

Unstructured 是专为 LLM 应用设计的非结构化数据 ETL 平台,支持 PDF、HTML、Word、图片等 25+ 格式,输出干净的结构化数据。本文介绍其核心功能、开源版与商业版价格差异,并提供 Python 安装、API 调用与 RAG 集成上手指南。

在构建 RAG(检索增强生成)或 LLM 应用时,最大的痛点往往不是模型本身,而是如何把 PDF、Word、HTML、图片等非结构化数据变成干净、可切分的文本。Unstructured 正是为解决这一问题而生的开源 ETL 工具。本文将从功能、价格到上手实操,带你全面了解 Unstructured。

Unstructured 是什么?

Unstructured 是一个专为 LLM 数据预处理设计的开源平台,核心目标是把 25+ 种非结构化文档格式转化为结构化、可被向量数据库和语言模型直接消费的数据。它提供两种使用方式:

  • 开源 Python 库:本地运行,适合开发者自建管道
  • 商业 API / 平台:托管服务,适合企业快速集成

核心功能

1. 多格式文档解析

Unstructured 支持 PDF、HTML、Word、PPT、Excel、Markdown、EPUB、图片、邮件等格式。对 PDF 尤其强大,能处理扫描件、多栏排版、表格和嵌入图片。

2. 智能元素提取

它不只是提取纯文本,而是将文档拆解为语义元素:

元素类型说明
Title标题
NarrativeText正文段落
Table表格
ListItem列表项
Image图片(可配合 OCR)
PageBreak分页符

这种元素级切分让后续 chunking 更精准,显著提升 RAG 召回质量。

3. 分块与清洗

内置 chunk_by_title 等分块策略,按标题层级自动切分,避免固定长度切分导致的语义断裂。同时支持去除页眉页脚、乱码、多余空白。

4. 连接器生态

Unstructured 提供 30+ 源连接器(S3、Google Drive、SharePoint、Notion、Confluence 等),可定时增量同步,构建自动化数据管道。

价格方案

版本价格适用场景
开源库免费本地开发、小规模处理
API 免费层免费(限速)测试与原型验证
API 按量付费约 $0.01/页起生产级小规模
企业版定制报价高并发、私有部署、SLA

注意:开源库功能完整,但高精度 OCR、复杂表格识别等高级能力在商业 API 中表现更好。若预算有限且文档规范,开源版足够。

上手指南:3 步跑通

步骤 1:安装

pip install unstructured[all-docs]

若只需 PDF 支持:

pip install unstructured[pdf]

系统需安装 poppler-utilstesseract-ocr 等依赖(Ubuntu 下 apt-get install poppler-utils tesseract-ocr)。

步骤 2:本地解析文档

from unstructured.partition.auto import partition

elements = partition(filename="example.pdf")
for el in elements:
    print(el.category, "|", el.text[:80])

步骤 3:分块并接入 RAG

from unstructured.chunking.title import chunk_by_title

chunks = chunk_by_title(elements, max_characters=1000)
texts = [str(c) for c in chunks]
# 接下来可送入 embedding 模型与向量数据库

使用 API(可选)

from unstructured.partition.api import partition_via_api

elements = partition_via_api(
    filename="example.pdf",
    api_key="YOUR_API_KEY"
)

常见问题

Q:Unstructured 与 LangChain 的 UnstructuredLoader 有什么区别? LangChain 的 Loader 底层就是调用 Unstructured,封装了 Document 格式,适合直接接入 LangChain 管道。

Q:处理扫描版 PDF 效果差怎么办? 启用 strategy="hi_res" 并配置 OCR,或使用商业 API 的增强 OCR 能力。

Q:能处理中文文档吗? 可以。安装中文 Tesseract 语言包(tesseract-ocr-chi-sim)即可提升中文 OCR 准确率。

结论

Unstructured 是目前最成熟的 LLM 数据预处理工具之一。开源版适合开发者快速验证,商业 API 适合企业规模化生产。建议先用开源库处理规范文档,遇到复杂 PDF 或高并发需求时再升级商业版。掌握本文的安装、解析与分块三步,你就能把杂乱文档变成 RAG 可用的高质量数据。

返回 AI 教程列表