MinerU:面向 Agentic 工作流的复杂文档解析工具
原标题:opendatalab/MinerU
Python★ 69,167 stars+524 今日
速览
MinerU 专注于解决非结构化文档到结构化数据的转换难题,支持 PDF 及 Office 文档的高效解析。其输出格式专为 LLM 和 Agentic 工作流优化,便于直接接入 RAG 或智能体系统进行后续处理。
AI 深度解读
这是什么
MinerU 是由 opendatalab 团队开发的一款高精度文档解析引擎,旨在为 LLM(大语言模型)、RAG(检索增强生成)及 Agent 工作流提供高质量的结构化数据输入。该项目在 GitHub 上热度极高(Stars 69167+),主语言为 Python。
MinerU 的核心价值在于其“VLM + OCR”双引擎架构,能够将 PDF、DOCX、PPTX、XLSX、图片及网页等多种格式文档,自动转换为符合人类阅读顺序的结构化 Markdown 或 JSON 数据。它支持 109 种语言的 OCR 识别,并原生支持 MCP Server 以及 LangChain、Dify、FastGPT 等主流 AI 框架集成。此外,项目对国内主流 AI 芯片(如 Ascend、Cambricon、Iluvatar 等)提供了广泛支持,适合私有化部署和全离线环境使用。
解决的问题
在构建企业级知识库或训练垂直领域模型时,非结构化文档的处理一直是痛点。MinerU 主要解决以下核心问题:
- 复杂版式还原困难:传统 OCR 或简单的文本提取工具难以处理多栏排版、跨页表格、嵌套图表、手写体及公式,导致上下文丢失或结构混乱。
- 多格式兼容性与效率瓶颈:不同格式(如 Word、PPT、Excel)往往需要不同的转换工具,且将 DOCX 转为 PDF 再解析的流程耗时且易出错。MinerU 实现了端到端的原生解析,大幅提升了吞吐量。
- LLM 输入质量低:噪声数据(如页眉页脚、乱码、无关图片)会严重干扰 LLM 的理解能力。MinerU 能自动去除页眉页脚,并按阅读顺序重组内容,输出干净的结构化数据。
- 部署与生态壁垒:许多高精度解析工具依赖特定硬件或难以集成到现有的 RAG 流水线中。MinerU 提供了统一的 API/CLI 接口,并适配了多种国产芯片,降低了落地门槛。
核心功能
1. 多格式原生解析
- 全格式支持:原生支持 PDF、DOCX、PPTX、XLSX 及各类图片格式。
- 端到端加速:相比传统的“DOCX转PDF再解析”流程,原生 DOCX 解析速度提升数十倍,同时保证高精度。
- 结构化输出:输出遵循人类阅读顺序,自动识别并去除页眉页脚,保留标题层级。
2. VLM + OCR 双引擎
- 高精度识别:采用视觉语言模型(VLM)结合 OCR 技术,支持 109 种语言。
- 复杂元素处理:
- 公式:精准转换为 LaTeX 格式。
- 表格:转换为 HTML,支持跨页表格合并、表格内图片/公式识别。
- 特殊场景:支持扫描件、手写体、竖排文字、印章文字识别及行内公式编号识别。
3. 混合解析策略(Hybrid Parsing)
- 解析强度调节:在 3.3 版本中引入
effort参数,提供medium和high两种强度。medium:默认选项,平衡速度与精度,解析速度提升 35%~220%(视平台和场景而定)。high:追求极致精度或需要图像分析时使用,速度较慢但准确率最高。
4. 工程化与部署优化
- 统一编排接口:
mineru作为编排客户端,自动启动本地临时服务。mineru-api提供异步任务端点(POST /tasks)和同步解析端点,支持任务提交、状态查询及结果获取。mineru-router支持多服务、多 GPU 环境下的统一入口部署与自动负载均衡。
- 模型优化:
- 后端 OCR 模型升级为 PP-OCRv6,在 OmniDocBench v1.6 上准确率提升约 11%。
- 推理管道优化,OCR 处理速度提升约 100%。
- 智能模型源选择与本地缓存机制,减少重复下载,优化首次安装体验。
亮点 / 与同类相比
-
开源协议更友好:
- 从 AGPLv3 升级为基于 Apache 2.0 的自定义 MinerU 开源许可证。这一改变显著降低了社区用户和商业部署的合规摩擦,使其更易于集成到实际工作流中。
-
国产芯片全覆盖:
- 原生支持 Ascend(昇腾)、Cambricon(寒武纪)、Enflame(燧原)、MetaX(摩尔线程)、Kunlunxin(昆仑芯)、Iluvatar(天数智芯)、Hygon(海光)、Biren(壁仞)、T-Head(平头哥)等 10+ 种国内 AI 芯片,满足信创及私有化部署需求。
-
SOTA 级解析精度:
- 主模型升级为 MinerU2.5-Pro-2605-1.2B(3.3版本)及后续的 MinerU2.5-Pro-2604-1.2B(3.1版本),在 OmniDocBench 等基准测试中表现优异,特别是在复杂文档布局、截断段落合并及表格内元素识别方面处于领先地位。
-
生态集成无缝化:
- 原生支持 MCP Server,并直接兼容 LangChain、Dify、FastGPT 等主流 RAG 框架,开发者无需编写复杂的适配代码即可接入。
适合谁用 / 上手
适合人群
- RAG 应用开发者:需要高质量文档切片和结构化数据以构建企业知识库的用户。
- AI Agent 构建者:需要 Agent 能够准确理解复杂文档(如合同、财报、论文)中的表格和公式。
- 私有化部署团队:对数据隐私敏感,需要全离线运行且依赖国产硬件基础设施的企业 IT 部门。
- 学术研究/数据标注:需要批量处理多语言、多格式文档并提取结构化信息的科研人员。
上手指南
- 环境准备:
- 支持 Linux、Windows、macOS。
- 推荐使用 Python 环境,注意
torch版本兼容性(已适配torch >= 2.8,基础镜像升级为vllm 0.11.2 + torch 2.9.0)。
- 安装与配置:
- 通过
pip安装 MinerU。 - 首次运行会自动根据网络环境选择最佳模型源下载依赖模型(如 PP-OCRv6、VLM 模型等)。
- 利用本地缓存机制,后续启动将复用已下载模型,加速迭代。
- 通过
- 调用方式:
- CLI:直接使用命令行进行文件解析。
- API:启动
mineru-api服务,通过 HTTP 接口提交异步任务或同步解析文件。 - 集成:在 Dify、LangChain 等平台上直接配置 MinerU 作为文档处理插件。
- 性能调优:
- 对于日常文档处理,建议使用默认的
effort=medium模式以获得最佳速度/精度比。 - 对于包含大量图表或需要极高精度的场景,切换至
effort=high。
- 对于日常文档处理,建议使用默认的
查看原文 →github.com
