← 返回信息流
GitHub 热榜GitHub Trending · 日·2 小时前

MinerU:面向 Agentic 工作流的复杂文档解析工具

原标题:opendatalab/MinerU
Python69,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 主要解决以下核心问题:

  1. 复杂版式还原困难:传统 OCR 或简单的文本提取工具难以处理多栏排版、跨页表格、嵌套图表、手写体及公式,导致上下文丢失或结构混乱。
  2. 多格式兼容性与效率瓶颈:不同格式(如 Word、PPT、Excel)往往需要不同的转换工具,且将 DOCX 转为 PDF 再解析的流程耗时且易出错。MinerU 实现了端到端的原生解析,大幅提升了吞吐量。
  3. LLM 输入质量低:噪声数据(如页眉页脚、乱码、无关图片)会严重干扰 LLM 的理解能力。MinerU 能自动去除页眉页脚,并按阅读顺序重组内容,输出干净的结构化数据。
  4. 部署与生态壁垒:许多高精度解析工具依赖特定硬件或难以集成到现有的 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 参数,提供 mediumhigh 两种强度。
    • medium:默认选项,平衡速度与精度,解析速度提升 35%~220%(视平台和场景而定)。
    • high:追求极致精度或需要图像分析时使用,速度较慢但准确率最高。

4. 工程化与部署优化

  • 统一编排接口
    • mineru 作为编排客户端,自动启动本地临时服务。
    • mineru-api 提供异步任务端点(POST /tasks)和同步解析端点,支持任务提交、状态查询及结果获取。
    • mineru-router 支持多服务、多 GPU 环境下的统一入口部署与自动负载均衡。
  • 模型优化
    • 后端 OCR 模型升级为 PP-OCRv6,在 OmniDocBench v1.6 上准确率提升约 11%。
    • 推理管道优化,OCR 处理速度提升约 100%。
    • 智能模型源选择与本地缓存机制,减少重复下载,优化首次安装体验。

亮点 / 与同类相比

  1. 开源协议更友好

    • 从 AGPLv3 升级为基于 Apache 2.0 的自定义 MinerU 开源许可证。这一改变显著降低了社区用户和商业部署的合规摩擦,使其更易于集成到实际工作流中。
  2. 国产芯片全覆盖

    • 原生支持 Ascend(昇腾)、Cambricon(寒武纪)、Enflame(燧原)、MetaX(摩尔线程)、Kunlunxin(昆仑芯)、Iluvatar(天数智芯)、Hygon(海光)、Biren(壁仞)、T-Head(平头哥)等 10+ 种国内 AI 芯片,满足信创及私有化部署需求。
  3. SOTA 级解析精度

    • 主模型升级为 MinerU2.5-Pro-2605-1.2B(3.3版本)及后续的 MinerU2.5-Pro-2604-1.2B(3.1版本),在 OmniDocBench 等基准测试中表现优异,特别是在复杂文档布局、截断段落合并及表格内元素识别方面处于领先地位。
  4. 生态集成无缝化

    • 原生支持 MCP Server,并直接兼容 LangChain、Dify、FastGPT 等主流 RAG 框架,开发者无需编写复杂的适配代码即可接入。

适合谁用 / 上手

适合人群

  • RAG 应用开发者:需要高质量文档切片和结构化数据以构建企业知识库的用户。
  • AI Agent 构建者:需要 Agent 能够准确理解复杂文档(如合同、财报、论文)中的表格和公式。
  • 私有化部署团队:对数据隐私敏感,需要全离线运行且依赖国产硬件基础设施的企业 IT 部门。
  • 学术研究/数据标注:需要批量处理多语言、多格式文档并提取结构化信息的科研人员。

上手指南

  1. 环境准备
    • 支持 Linux、Windows、macOS。
    • 推荐使用 Python 环境,注意 torch 版本兼容性(已适配 torch >= 2.8,基础镜像升级为 vllm 0.11.2 + torch 2.9.0)。
  2. 安装与配置
    • 通过 pip 安装 MinerU。
    • 首次运行会自动根据网络环境选择最佳模型源下载依赖模型(如 PP-OCRv6、VLM 模型等)。
    • 利用本地缓存机制,后续启动将复用已下载模型,加速迭代。
  3. 调用方式
    • CLI:直接使用命令行进行文件解析。
    • API:启动 mineru-api 服务,通过 HTTP 接口提交异步任务或同步解析文件。
    • 集成:在 Dify、LangChain 等平台上直接配置 MinerU 作为文档处理插件。
  4. 性能调优
    • 对于日常文档处理,建议使用默认的 effort=medium 模式以获得最佳速度/精度比。
    • 对于包含大量图表或需要极高精度的场景,切换至 effort=high
查看原文 →github.com