首页 > 教程攻略 > ai资讯 >ThinkParse 1.1.0 开源发布:把文档解析,做成可扩展的企业级服务

ThinkParse 1.1.0 开源发布:把文档解析,做成可扩展的企业级服务

来源:互联网 时间:2026-07-04 13:57:38

做 RAG、知识库、智能问答,第一步往往是把 PDF、Word、扫描件变成结构化 Markdown。MinerU 的解析质量有目共睹,但直接在生产环境跑 MinerU,问题不少:大文件一解析就 OOM,几百页 PDF 直接卡死;同步 HTTP 请求超时,批量任务没法排队;API 和 Worker 绑在一起,扩容、升级、故障恢复都很痛苦;本地磁盘存结果,多机部署时文件对不上。

ThinkParse 要补的就是这一层:在 MinerU 之上,提供稳定、可扩展、可运维的 HTTP 解析服务。

一、ThinkParse 是什么?

ThinkParse 是 Think 系列产品中的开源文档解析层,与 ThinkWiki(个人知识库)、ThinkDoc(企业知识库)、ThinkExtract(数据抽取平台)并列。定位很清晰:可插拔后端 + 稳定 HTTP API。当前内置 MinerU 3.4 作为解析引擎,后续计划支持 Docling 等;上层业务只对接 ThinkParse,不跟具体引擎耦合。

核心架构是 API / Worker 完全解耦:

客户端 → FastAPI(轻量 API)→ Redis 队列 → Celery Worker(MinerU / MarkItDown)→ 本地或 S3 存储
  • API 服务

    接收文件、提交任务、查询状态
  • Worker 服务

    专注文档解析,可独立水平扩展
  • Redis

    消息队列 + 结果缓存
  • 存储抽象

    本地文件系统或 S3/MinIO,支持分布式部署

MIT 开源,Docker 一键部署,Python 3.10+。

二、新版本升级了什么?

ThinkParse

1.1.0

(2026-06-24)是项目从 MinerU-API 正式更名为 ThinkParse 后的首个版本发布,重点在品牌统一、引擎升级和生产稳定性。

1. 归入 Think 系列,品牌统一

项目从 MinerU-API 更名为

ThinkParse

,与 ThinkWiki、ThinkDoc、ThinkExtract 形成同一产品族。Docker 服务名(mineru-apimineru-worker 等)保持不变,现有部署配置可直接沿用。

2. 解析引擎升级到 MinerU 3.4.0

解析内核从 MinerU 2.x 升级到

3.4.0

,带来新一代 OCR 模型(如 PP-OCRv6)和更优的版面分析。公式识别、表格识别、多语言(中/英/日/韩等)继续开箱即用。升级后需重建 Worker 镜像(cd docker && sh build.sh),模型会在构建过程中自动下载。

3. 生产环境兼容性修复

修复 MinerU 3.4.0 在子进程场景下重载 worker/tasks.py 时触发的 MINERU_DEVICE_MODE KeyError,避免 Worker 在特定部署模式下异常退出。

三、生产级部署会用到哪些能力

以下能力随 ThinkParse 1.0.0 起即已提供,1.1.0 在 MinerU 3.4 引擎之上继续可用。

1. 大 PDF 自动分页解析

超过阈值(默认 100 页)的大 PDF,Worker 会自动分块解析再合并结果,降低内存溢出风险。阈值和分块大小可配置,也支持 API 参数显式开关:

curl -X POST "http://localhost:8000/api/v1/tasks/submit" 
-F "file=@large_document.pdf"
-F "backend=pipeline"
-F "lang=ch"
-F "enable_pagination=true"

几百页的合同、年报、论文,不必再赌一把能不能跑完了。

2. 双 API,兼容两种集成方式

同步 API

/file_parse)兼容 MinerU 官方格式,提交即等结果,适合脚本、小文件、快速验证:

curl -X POST "http://localhost:8000/file_parse" 
-F "files=@document.pdf"
-F "backend=pipeline"
-F "lang_list=ch"
-F "return_md=true"

异步队列 API

/api/v1/tasks/*)提交任务拿 task_id,轮询或回调获取结果,适合生产批量、长任务、高并发:

# 提交
curl -X POST "http://localhost:8000/api/v1/tasks/submit"
-F "file=@document.pdf" -F "lang=ch"
# 查询
curl "http://localhost:8000/api/v1/tasks/{task_id}"

两种接口并存,现有 MinerU 客户端可无缝迁移。

3. 运维与扩展

  • 优先级队列

    紧急任务优先调度
  • 任务重试与故障恢复

    Worker 挂了,任务不丢
  • 队列监控

    /api/v1/queue/stats 实时看积压
  • 自动清理服务

    过期输出定期回收,磁盘不会越堆越满
  • S3 兼容存储

    MinIO / AWS S3,API 和 Worker 可分机部署
  • CPU / GPU Worker

    开发用 CPU,生产上 GPU,COMPOSE_PROFILES 一行切换

4. 多格式全覆盖

类型引擎格式
PDF、图片MinerUPDF, PNG, JPG 等
Office、网页、纯文本MarkItDownWord, Excel, PPT, HTML, TXT 等

一套 API,PDF 扫描件和 Office 文档都能走。

四、谁适合用 ThinkParse?

  • RAG / 知识库开发者

    ThinkDoc、ThinkExtract 的上游解析层,文档入库前统一走 ThinkParse
  • AI 应用团队

    需要稳定的文档→Markdown 微服务,不想自己维护 MinerU 进程
  • 数据处理 / 中台团队

    批量解析合同、研报、标书,异步队列 + S3 存储正好匹配
  • 个人开发者 / 研究者

    Docker 四步启动,本地调试 MinerU 能力,零配置上手

五、只需四步启动,5 分钟跑通

前置:

Docker + Docker Compose(GPU 环境需 NVIDIA 驱动)

# 1. 复制配置
cp .env.example .env
cd docker && cp .env.example .env
# 2. 选择 Worker 类型(docker/.env)
COMPOSE_PROFILES=redis,mineru-cpu # 开发推荐 CPU
# COMPOSE_PROFILES=redis,mineru-gpu # 生产推荐 GPU
# 3. 构建镜像
cd docker && sh build.sh
# 4. 启动
docker compose up -d
# 验证
curl http://localhost:8000/api/v1/health

浏览器打开 Swagger 交互文档,地址 http://localhost:8000/docs ,可直接试 API。

六、和 Think 生态怎么配合?

ThinkParse 是 Think 系列的解析基础设施:

原始文档 → ThinkParse(结构化 Markdown)→ ThinkDoc(知识库)/ ThinkExtract(数据抽取)→ Agent 对话 / 检索

文档解析这一环开源、标准化之后,上层知识库产品可以专注入库、图谱、Agent 交互,而不是重复造 MinerU 部署的轮子。

七、开源共建

ThinkParse 基于 MinerU,并参考了 mineru-tianshu 构建,站在优秀开源项目之上,MIT 协议发布。

  • 项目:https://github.com/wzda vid/ThinkParse
  • 文档:中英文 README + 部署、配置、API 示例、故障排除全套文档

如果你在做文档智能、知识库或 RAG,欢迎 Star、Fork,或在 Issue 里提需求。Docling 等新后端的支持已在路线图中。

相关下载