项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 15703
使用教程
环境要求
- Python 环境(项目提供 PyPI 包 unstructured)
- pip 可用,用于安装 PyPI 包
- 按需的系统依赖:libmagic-dev、poppler-utils、tesseract-ocr、libreoffice
- 如使用容器方式,需先安装 Docker
- 本地开发需安装 uv 依赖管理工具
安装与启动步骤
-
1安装 Python SDK
安装支持全部文档类型的完整版;若只处理文本、HTML、XML、JSON、邮件,装基础版即可。
pip install "unstructured[all-docs]" -
2安装系统依赖
按需安装,不同文档类型需要的依赖不同,未用到可不装。
apt-get install -y libmagic-dev poppler-utils tesseract-ocr libreoffice -
3验证解析效果
用 partition 通用入口解析示例邮件文件并打印元素文本,能输出内容即安装成功。
python3 - <<'PY' 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])) PY -
4拉取 Docker 镜像
镜像支持 x86_64 与 Apple silicon,docker pull 会自动选择对应架构。
docker pull downloads.unstructured.io/unstructured-io/unstructured:latest -
5进入容器操作
该命令要求已有一个名为 unstructured 的运行中容器,进入后可直接用交互模式解析文档。
docker exec -it unstructured bash
如何确认成功
运行 partition(filename="example-docs/eml/fake-email.eml") 并打印结果,能正常输出解析出的元素文本即表示安装成功。
常见问题
Q:只处理纯文本、HTML、XML、JSON 和邮件,需要装全量依赖吗?
A:不需要,直接执行 pip install unstructured 即可,这些类型无需额外依赖。
Q:只需要解析 Word 或 PPT 怎么办?
A:按类型安装对应的 extras,例如 pip install "unstructured[docx,pptx]",避免安装全部依赖。
Q:解析 PDF 或图片时报缺少依赖怎么办?
A:补充安装 poppler-utils 和 tesseract-ocr;需要多语言 OCR 时再安装 tesseract-lang。
Q:docker pull 的镜像架构不对怎么办?
A:镜像为多平台构建,一般会自动匹配;必要时用 --platform 指定,例如 --platform linux/amd64。
Q:我在 Windows 上安装失败怎么办?
A:README 提示 Windows 可参考官方文档中的 conda 安装方式(unstructured-io.github.io/unstructured/installing.html)。
注意事项
- Docker 镜像基于 wolfi-base,该基础镜像会定期更新,本地构建 docker-build 可能因上游变更而失败。
- 若只解析某一种数据,可在 Dockerfile 中注释掉其他数据类型的包/依赖以加快镜像构建。
- pandoc 已通过 pypandoc-binary Python 包自动捆绑,无需额外系统安装。
- 本地开发安装需先安装 uv 进行依赖管理,具体步骤见 README 后续内容与官方安装文档。
核心亮点
- 支持 PDF、Word、PPT、图片等 20+ 种格式,覆盖常见办公文档
- 自动识别文档结构(标题、表格、列表),输出带语义的 JSON
- 提供分区、清洗、切块、嵌入全流程 API,开箱即用
不足之处
- 部分高级功能(如企业级分区)依赖商业版,开源版功能有限
- 处理超大 PDF 或扫描件时速度较慢,需额外优化
适用场景
- 构建 RAG 系统前的文档预处理,提升检索准确率
- 批量清洗历史文档,用于 LLM 微调数据集构建
- 企业内部知识库自动化入库,支持多格式文档统一管理
替代项目
langchain、llamaindex、textract
同类项目推荐
ds-free-api
开源
把 DeepSeek 网页端封装成 OpenAI/Anthropic 兼容 API
DeepSeek网页端API代理,支持OpenAI与Anthropic兼容接口 | OpenAI & Anthropic compatible···
awesome-ml-experiment-management
开源
一张清单,搞定ML实验跟踪工具选型
A curated list of awesome open source tools and commercial products for ML Experimen···
vLLM-Kunlun
开源
让昆仑芯 XPU 直接跑起 vLLM 大模型推理服务
vLLM Kunlun (vllm-kunlun) is a community-maintained hardware plugin designed to seam···
comfyui-docker
开源
用 Docker 一键跑起 ComfyUI,告别环境配置地狱
Docker image for ComfyUI: The most powerful and modular stable diffusion GUI, api an···
FreeQwenApi
开源
把 Qwen 网页版变成免费 API,本地部署即用
Локальный API-прокси для Qwen AI с поддержкой сохра···
Safe-and-Stable-Ckpt2Safetensors···
开源
一键安全转换 ckpt 为 safetensors,告别恶意代码风险
Convert your Stable Diffusion checkpoints quickly and easily.
csghub-server
开源
自建大模型资产平台,统一管模型数据推理微调
csghub-server is the backend server for CSGHub which helps user to manage datasets, ···
ctx-wire
开源
压缩命令输出,脱敏后喂给 AI,减少噪音
ctx-wire runs your commands, compresses the output with declarative filters, scrubs ···
Portainer 容器管理面板
开源
Docker 可视化管理面板
Making Docker and Kubernetes management easy.
