ThinkParse 1.1.0 开源发布:把文档解析,做成可扩展的企业级服务
做 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
1. 归入 Think 系列,品牌统一
项目从 MinerU-API 更名为
ThinkParse
mineru-api、mineru-worker 等)保持不变,现有部署配置可直接沿用。2. 解析引擎升级到 MinerU 3.4.0
解析内核从 MinerU 2.x 升级到
3.4.0
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实时看积压- 过期输出定期回收,磁盘不会越堆越满
自动清理服务
- MinIO / AWS S3,API 和 Worker 可分机部署
S3 兼容存储
- 开发用 CPU,生产上 GPU,
CPU / GPU Worker
COMPOSE_PROFILES一行切换
4. 多格式全覆盖
| 类型 | 引擎 | 格式 |
|---|---|---|
| PDF、图片 | MinerU | PDF, PNG, JPG 等 |
| Office、网页、纯文本 | MarkItDown | Word, Excel, PPT, HTML, TXT 等 |
一套 API,PDF 扫描件和 Office 文档都能走。
四、谁适合用 ThinkParse?
- ThinkDoc、ThinkExtract 的上游解析层,文档入库前统一走 ThinkParse
RAG / 知识库开发者
- 需要稳定的文档→Markdown 微服务,不想自己维护 MinerU 进程
AI 应用团队
- 批量解析合同、研报、标书,异步队列 + S3 存储正好匹配
数据处理 / 中台团队
- Docker 四步启动,本地调试 MinerU 能力,零配置上手
个人开发者 / 研究者
五、只需四步启动,5 分钟跑通
前置:
# 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 等新后端的支持已在路线图中。