unstructured 项目介绍
项目概述
unstructured 项目是一个开源的预处理工具库,旨在帮助处理非结构化的数据,如图片和文本文件,包括 PDF、HTML、Word 文档等等。项目致力于简化大语言模型(LLMs)中的数据处理工作流,通过模块化功能和连接器的集成系统,使得数据的提取和预处理变得简单高效,同时能够适应不同平台的需求,将非结构化数据转换为结构化输出。
关键功能
- 数据预处理模块:unstructured 提供了一系列组件,用于导入和预处理多种格式的文件。
- 兼容性广泛:支持处理多种文档格式,如 PDF、HTML 和 Word 等。
- 模块化设计:功能模块和连接器能够轻松集成,为数据处理提供高效的解决方案。
优化的数据处理工作流
使用 unstructured,可以大大简化大语言模型的数据处理过程。项目的组件导航系统具有极高的可适应性,适合于多种平台,将非结构化数据流畅地转化为需求的数据格式。
Unstructured 无服务器 API
为了获得更高的预处理性能和减轻设置的繁琐,unstructured 推出了新的无服务器 API。这个强大的接口能够为企业和 LLM 提供更高效和灵活的支持,用户可以访问 API 注册页面 开始免费使用。
快速开始
有几种方式可以使用 unstructured 库:
- 使用容器运行库
- 从 PyPI 安装库
- 在本地开发环境中安装库
在容器中运行库
可以使用 Docker 来交互运行 unstructured。Docker 支持 x86_64 和 Apple silicon 硬件的平台镜像:
-
拉取镜像:
docker pull downloads.unstructured.io/unstructured-io/unstructured:latest
-
创建并进入容器:
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest docker exec -it unstructured bash
安装库
通过下列步骤,快速设置并测试 unstructured 的安装:
- 安装 Python SDK,支持所有文档类型:
pip install "unstructured[all-docs]"
- 安装必要的系统依赖,如
libmagic-dev
、poppler-utils
等以支持不同文档类型。
使用安装好的库运行代码:
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 项目的开发,推荐使用 pyenv
管理虚拟环境。以下是流程概要:
- 创建并激活虚拟环境。
- 运行
make install
安装必要的组件。 - 使用
pre-commit
配置代码格式和检查工具。
项目文档
想要了解更详细的项目信息,可以访问 项目文档。关键文档包括:
- 快速开始指南
- unstructured 开源包的使用
- 搭配其它工具和系统的集成指南
通过 unstructured 项目,用户能够快速解析非结构化的数据,进行有效的数据管理和转换。项目提供简洁易用的接口和工具,大大提升了数据处理的效率和精准性。