ITADN
Unstructured-IO/unstructured
Unstructured-IO/unstructured · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

https://pypi.python.org/pypi/unstructured/ https://pypi.python.org/pypi/unstructured/ https://GitHub.com/unstructured-io/unstructured.js/graphs/contributors code_of_conduct.md https://GitHub.com/unstructured-io/unstructured.js/releases https://github.com/Naereen/badges/ Downloads Downloads

<img src="https://img.shields.io/badge/Phorm-Ask_AI-%23F2777A.svg?&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik00LjQzIDEuODgyYTEuNDQgMS40NCAwIDAgMS0uMDk4LjQyNmMtLjA1LjEyMy0uMTE1LjIzLS4xOTIuMzIyLS4wNzUuMDktLjE2LjE2NS0uMjU1LjIyNmExLjM1MyAxLjM1MyAwIDAgMS0uNTk1LjIxMmMtLjA5OS4wMTItLjE5Mi4wMTQtLjI3OS4wMDZsLTEuNTkzLS4xNHYtLjQwNmgxLjY1OGMuMDkuMDAxLjE3LS4xNjkuMjQ2LS4xOTFhLjYwMy42MDMgMCAwIDAgLjItLjEwNi41MjkuNTI5IDAgMCAwIC4xMzgtLjE3LjY1NC42NTQgMCAwIDAgLjA2NS0uMjRsLjAyOC0uMzJhLjkzLjkzIDAgMCAwLS4wMzYtLjI0OS41NjcuNTY3IDAgMCAwLS4xMDMtLjIuNTAyLjUwMiAwIDAgMC0uMTY4LS4xMzguNjA4LjYwOCAwIDAgMC0uMjQtLjA2N0wyLjQzNy43MjkgMS42MjUuNjcxYS4zMjIuMzIyIDAgMCAwLS4yMzIuMDU4LjM3NS4zNzUgMCAwIDAtLjExNi4yMzJsLS4xMTYgMS40NS0uMDU4LjY5Ny0uMDU4Ljc1NEwuNzA1IDRsLS4zNTctLjA3OUwuNjAyLjkwNkMuNjE3LjcyNi42NjMuNTc0LjczOS40NTRhLjk1OC45NTggMCAwIDEgLjI3NC0uMjg1Ljk3MS45NzEgMCAwIDEgLjMzNy0uMTRjLjExOS0uMDI2LjIyNy0uMDM0LjMyNS0uMDI2TDMuMjMyLjE2Yy4xNTkuMDE0LjMzNi4wMy40NTkuMDgyYTEuMTczIDEuMTczIDAgMCAxIC41NDUuNDQ3Yy4wNi4wOTQuMTA5LjE5Mi4xNDQuMjkzYTEuMzkyIDEuMzkyIDAgMCAxIC4wNzguNThsLS4wMjkuMzJaIiBmaWxsPSIjRjI3NzdBIi8+CiAgPHBhdGggZD0iTTQuMDgyIDIuMDA3YTEuNDU1IDEuNDU1IDAgMCAxLS4wOTguNDI3Yy0uMDUuMTI0LS4xMTQuMjMyLS4xOTIuMzI0YTEuMTMgMS4xMyAwIDAgMS0uMjU0LjIyNyAxLjM1MyAxLjM1MyAwIDAgMS0uNTk1LjIxNGMtLjEuMDEyLS4xOTMuMDE0LS4yOC4wMDZsLTEuNTYtLjEwOC4wMzQtLjQwNi4wMy0uMzQ4IDEuNTU5LjE1NGMuMDkgMCAuMTczLS4wMS4yNDgtLjAzM2EuNjAzLjYwMyAwIDAgMCAuMi0uMTA2LjUzM

i41MzIgMCAwIDAgLjEzOS0uMTcyLjY2LjY2IDAgMCAwIC4wNjQtLjI0MWwuMDI5LS4zMjFhLjk0Ljk0IDAgMCAwLS4wMzYtLjI1LjU3LjU3IDAgMCAwLS4xMDMtLjIwMi41MDIuNTAyIDAgMCAwLS4xNjgtLjEzOC42MDUuNjA1IDAgMCAwLS4yNC0uMDY3TDEuMjczLjgyN2MtLjA5NC0uMDA4LS4xNjguMDEtLjIyMS4wNTUtLjA1My4wNDUtLjA4NC4xMTQtLjA5Mi4yMDZMLjcwNSA0IDAgMy45MzhsLjI1NS0yLjkxMUExLjAxIDEuMDEgMCAwIDEgLjM5My41NzIuOTYyLjk2MiAwIDAgMSAuNjY2LjI4NmEuOTcuOTcgMCAwIDEgLjMzOC0uMTRDMS4xMjIuMTIgMS4yMy4xMSAxLjMyOC4xMTlsMS41OTMuMTRjLjE2LjAxNC4zLjA0Ny40MjMuMWExLjE3IDEuMTcgMCAwIDEgLjU0NS40NDhjLjA2MS4wOTUuMTA5LjE5My4xNDQuMjk1YTEuNDA2IDEuNDA2IDAgMCAxIC4wNzcuNTgzbC0uMDI4LjMyMnoiIGZpbGw9IndoaXRlIi8+CiAgPHBhdGggZD0iTTQuMDgyIDIuMDA3YTEuNDU1IDEuNDU1IDAgMCAxLS4wOTguNDI3Yy0uMDUuMTI0LS4xMTQuMjMyLS4xOTIuMzI0YTEuMTMgMS4xMyAwIDAgMS0uMjU0LjIyNyAxLjM1MyAxLjM1MyAwIDAgMS0uNTk1LjIxNGMtLjEuMDEyLS4xOTMuMDE0LS4yOC4wMDZsLTEuNTYtLjEwOC4wMzQtLjQwNi4wMy0uMzQ4IDEuNTU5LjE1NGMuMDkgMCAuMTczLS4wMS4yNDgtLjAzM2EuNjAzLjYwMyAwIDAgMCAuMi0uMTA2LjUzMi41MzIgMCAwIDAgLjEzOS0uMTcyLjY2LjY2IDAgMCAwIC4wNjQtLjI0MWwuMDI5LS4zMjFhLjk0Ljk0IDAgMCAwLS4wMzYtLjI1LjU3LjU3IDAgMCAwLS4xMDMtLjIwMi41MDIuNTAyIDAgMCAwLS4xNjgtLjEzOC42MDUuNjA1IDAgMCAwLS4yNC0uMDY3TDEuMjczLjgyN2MtLjA5NC0uMDA4LS4xNjguMDEtLjIyMS4wNTUtLjA1My4wNDUtLjA4NC4xMTQtLjA5Mi4yMDZMLjcwNSA0IDAgMy45MzhsLjI1NS0yLjkxMUExLjAxIDEuMDEgMCAwIDEgLjM5My41NzIuOTYyLjk2MiAwIDAgMSAuNjY2LjI4NmEuOTcuOTcgMCAwIDEgLjMzOC0uMTRDMS4xMjIuMTIgMS4yMy4xMSAxLjMyOC4xMTlsMS41OTMuMTRjLjE2LjAxNC4zLjA0Ny40MjMuMWExLjE3IDEuMTcgMCAwIDEgLjU0NS40NDhjLjA2MS4wOTUuMTA5LjE5My4xNDQuMjk1YTEuNDA2

DEuNDA2IDAgMCAxIC4wNzcuNTgzbC0uMDI4LjMyMloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=" />

用于非结构化数据的开源预处理工具

The unstructured 库提供了用于摄取和预处理图像及文本文档(如 PDF、HTML、Word 文档以及更多格式)的开源组件。unstructured 的用例围绕简化和优化面向 LLM 的数据处理工作流展开。unstructured 的模块化函数和连接器构成了一个连贯的系统,简化了数据摄取和预处理,使其能够适应不同的平台,并高效地将非结构化数据转换为结构化输出。

Unstructured Transform MCP — 面向智能体的文档处理

Unstructured Transform 以 MCP 服务器的形式,为您的智能体提供生产级的文档处理能力。它使智能体能够在当前会话中直接解析、丰富、分块和嵌入文件,从而将 60 多种文件类型转换为可直接用于您的应用程序、向量数据库及任何下游流程的结构化数据。

智能体设置步骤

  1. 选择您的 MCP 客户端。 Transform 几乎适用于任何兼容 MCP 的主机或智能体框架——包括 Claude Code、Cursor、Codex CLI 等。

  2. 将 Transform MCP 服务器 添加到您的客户端 MCP 配置中(通过 CLI mcp add 命令或客户端的 MCP 设置/配置文件,具体取决于所用工具)。

  3. Authenticate once when your client prompts you. Sign in, and the Transform tools become available to your agent on its next message.

  4. 将您的代理指向一个文件。 拖放或引用本地文件或 URL。Transform 支持 60 多种格式(PDF、电子邮件、图像、扫描文件等)。

  5. 用通俗语言描述你的需求。 向 agent 说明你的意图(例如“解析并分块此合同以用于向量存储”),Transform 会对文件进行分区、增强、分块和嵌入,并返回可直接使用的结构化数据。

每月 15,000 页免费,之后每页 3 美分!

📄 完整文档:https://docs.unstructured.io/transform/overview

非结构化流水线

准备将您的数据处理流水线投入生产环境,并利用高级功能?请查看 Unstructured Pipelines。除了更好的处理性能外,还可以利用分块、嵌入以及图像和表格增强生成功能,所有这些均可通过低代码 UI 或 API 实现。向我们的销售团队 申请演示,以了解如何开始使用。

:eight_pointed_black_star: 快速开始

There are several ways to use the unstructured library:

在容器中运行该库

以下说明旨在帮助你使用 Docker 开始与 unstructured 进行交互。 如果你尚未在机器上安装 docker,请参阅 此处

注意:我们构建多平台镜像以同时支持 x86_64 和 Apple silicon 硬件。docker pull 应该会下载与你架构对应的镜像,但如有需要,你可以使用 --platform 进行指定(例如 --platform linux/amd64)。

我们为推送到 main 的所有内容构建 Docker 镜像。我们为每个镜像打上对应的短提交哈希(例如 fbc7a69)和应用版本(例如 0.5.5-dev1)标签。我们还会为最新的镜像打上 latest 标签。要利用这一点,请从我们的镜像仓库中 docker pull

docker pull downloads.unstructured.io/unstructured-io/unstructured:latest

拉取完成后,您可以基于此镜像创建一个容器并进入其 shell。

# create the container
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest

# this will drop you into a bash shell where the Docker image is running
docker exec -it unstructured bash

你也可以构建自己的 Docker 镜像。请注意,基础镜像是 wolfi-base,它会定期更新。如果你在本地构建镜像,由于 wolfi-base 的上游变更,docker-build 可能会失败。

如果你只打算解析一种类型的数据,可以通过注释掉其他数据类型所需的某些包/依赖项来加快镜像的构建速度。请参阅 Dockerfile 以了解哪些行对你的使用场景是必需的。

make docker-build

# this will drop you into a bash shell where the Docker image is running
make docker-start-bash

进入运行中的容器后,你可以直接在 Python 解释器的交互模式下尝试操作。

# this will drop you into a python console so you can run the below partition functions
python3

>>> from unstructured.partition.pdf import partition_pdf
>>> elements = partition_pdf(filename="example-docs/layout-parser-paper-fast.pdf")

>>> from unstructured.partition.text import partition_text
>>> elements = partition_text(filename="example-docs/fake-text.txt")

安装库

使用以下说明来开始使用 unstructured 并测试你的 安装。

  • 使用 pip install "unstructured[all-docs]" 安装 Python SDK 以支持所有文档类型

    • 对于纯文本文件、HTML、XML、JSON 和电子邮件等不需要额外依赖的文件,你可以运行 pip install unstructured
    • 要处理其他文档类型,你可以安装处理这些文档所需的额外组件,例如 pip install "unstructured[docx,pptx]"
  • 如果系统中尚未提供以下系统依赖项,请安装它们。 根据你要解析的文档类型,你可能不需要所有这些依赖项。

    • libmagic-dev(文件类型检测)
    • poppler-utils(图像和 PDF)
    • tesseract-ocr(图像和 PDF,安装 tesseract-lang 以支持更多语言)
    • libreoffice(MS Office 文档)
    • pandoc 通过 pypandoc-binary Python 包自动捆绑(无需系统安装)
  • 有关如何在 Windows 上安装的建议以及了解其他功能的依赖项,请参阅 安装文档 here

此时,你应该能够运行以下代码:

from unstructured.partition.auto import partition

elements = partition(filename="example-docs/eml/fake-email.eml")
print("\n\n".join([str(el) for el in elements]))

本地开发安装说明

以下说明旨在帮助你在计划为该项目做出贡献时,在本地运行 unstructured

本项目使用 uv 进行依赖管理。请先安装它:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

然后安装所有依赖项(base、extras、dev、test 和 lint 组):

make install

这将运行 uv sync --locked --all-extras --all-groups,它会在一步中创建虚拟环境并安装所有内容。无需手动创建或激活 virtualenv。

若要仅安装特定文档类型的 extras:

uv sync --extra pdf
uv sync --extra csv --extra docx

要在更改 pyproject.toml 中的依赖项后更新锁文件:

make lock
  • 可选:
    • 若要安装用于在本地处理图像和 PDF 的附加组件,请运行 uv sync --extra pdf --extra image
    • 若要处理图像文件,需要 tesseract。有关安装说明,请参阅 此处
    • 若要处理 PDF 文件,需要 tesseractpopplerpdf2image 文档 提供了在各类平台上安装 poppler 的说明。

此外,如果您计划为 unstructured 做出贡献,我们提供了一个可选的 pre-commit 配置文件,以确保您的代码符合 unstructured 中使用的格式化和代码检查标准。 如果您不希望代码更改在每次提交前自动整理,可以使用 make check 来查看是否应应用任何代码检查或格式化更改,并使用 make tidy 来应用这些更改。

如果使用可选的 pre-commit,您只需使用 pre-commit install 安装钩子,因为 pre-commit 包已作为上述 make install 的一部分安装。最后,如果您决定使用 pre-commit, 您也可以使用 pre-commit uninstall 卸载钩子。

除了在本机操作系统上进行开发外,我们还提供了一个辅助工具,用于使用 docker 提供开发环境:

make docker-start-dev

这将启动一个 docker 容器,并将您的本地仓库挂载到 /mnt/local_unstructured。此 docker 镜像允许您在不担心操作系统与仓库及其依赖项兼容性的情况下进行开发。

:clap: 快速入门

文档

如需更全面的文档,请访问 https://docs.unstructured.io 。您还可以在文档页面上了解更多关于我们其他产品的信息,包括我们的 SaaS API。

以下是 开源文档页面 中对新用户有帮助的几个页面:

PDF 文档解析示例

以下示例展示了如何开始使用 unstructured 库。在 unstructured 中解析文档最简单的方法是使用 partition 函数。如果您使用 partition 函数,unstructured 将检测文件类型并将其路由到适当的特定文件分区函数。如果您使用 partition 函数,可能需要根据文档类型安装额外的依赖项。 例如,要安装 docx 依赖项,您需要运行 pip install "unstructured[docx]"。 有关更多详细信息,请参阅我们的 安装指南

from unstructured.partition.auto import partition

elements = partition("example-docs/layout-parser-paper.pdf")

运行 print("\n\n".join([str(el) for el in elements])) 以获取输出的字符串表示,其外观如下:


LayoutParser : A Unified Toolkit for Deep Learning Based Document Image Analysis

Zejiang Shen 1 ( (cid:0) ), Ruochen Zhang 2 , Melissa Dell 3 , Benjamin Charles Germain Lee 4 , Jacob Carlson 3 , and
Weining Li 5

Abstract. Recent advances in document image analysis (DIA) have been primarily driven by the application of neural
networks. Ideally, research outcomes could be easily deployed in production and extended for further investigation.
However, various factors like loosely organized codebases and sophisticated model configurations complicate the easy
reuse of important innovations by a wide audience. Though there have been ongoing efforts to improve reusability and
simplify deep learning (DL) model development in disciplines like natural language processing and computer vision, none
of them are optimized for challenges in the domain of DIA. This represents a major gap in the existing toolkit, as DIA
is central to academic research across a wide range of disciplines in the social sciences and humanities. This paper
introduces LayoutParser, an open-source library for streamlining the usage of DL in DIA research and applications.
The core LayoutParser library comes with a set of simple and intuitive interfaces for applying and customizing DL models
for layout detection, character recognition, and many other document processing tasks. To promote extensibility,
LayoutParser also incorporates a community platform for sharing both pre-trained models and full document digitization
pipelines. We demonstrate that LayoutParser is helpful for both lightweight and large-scale digitization pipelines in
real-word use cases. The library is publicly available at https://layout-parser.github.io

Keywords: Document Image Analysis · Deep Learning · Layout Analysis · Character Recognition · Open Source library ·
Toolkit.

Introduction

Deep Learning(DL)-based approaches are the state-of-the-art for a wide range of document image analysis (DIA) tasks
including document image classification [11,

请参阅我们文档中的分区 部分,以获取完整的选项列表以及如何使用 文件特定的分区函数的说明。

:guardsman: 安全策略

请参阅我们的安全策略, 了解如何报告安全漏洞。

:bug: 报告错误

遇到错误?请创建一个新的 GitHub issue 并使用我们的错误报告模板来描述问题。为了帮助我们诊断问题,请使用 python scripts/collect_env.py 命令收集您的系统环境信息并将其包含在您的报告中。您的协助帮助我们持续改进我们的软件 - 谢谢!

:books: 了解更多

部分描述
公司网站Unstructured.io 产品和公司信息
文档完整的 API 文档
批处理通过 Unstructured 摄取文档批次

:chart_with_upwards_trend: 分析

遥测功能默认关闭。若要选择加入,请在导入 unstructured 之前设置 UNSTRUCTURED_TELEMETRY_ENABLED=true(或 =1)。若要选择退出,请将 DO_NOT_TRACKSCARF_NO_ANALYTICS 设置为任何非空值(例如 true1yesfalse0——任何非空字符串均可选择退出);选择退出具有优先权。如果您不想选择退出,请取消设置该变量或将其留空。请参阅我们的隐私政策