MinerU 的功能模块可以从多个维度来理解:从服务形态上,它有 CLI 工具、API、桌面端等多种使用方式;从技术架构上,其核心是一个"视觉编码-多模态融合-任务解码"三部分构成的端到端多模态模型。
下面是 MinerU 功能模块的详细介绍。
🧩 MinerU核心能力模块
| 功能模块 | 核心能力 | 技术实现与特点 |
|---|---|---|
| 📄 版面分析与阅读排序 | 智能识别文档中的标题、段落、图片、表格、页眉、页脚、脚注、目录等元素,并按人类阅读习惯(而非物理位置)排序输出。 | 集成自研的doclayout_yolo布局检测模型和layoutreader阅读顺序排序模块,处理单栏、多栏、跨页等复杂布局能力强、速度快。 |
| 📐 表格解析 | 精准识别复杂表格结构(包括无边框表格、合并单元格、旋转表格),并能解析表格内的文本和数字。 | 支持StructTable-InternVL2-1B和TableMaster等多个表格模型,可输出HTML格式,方便程序直接读取。 |
| 📐 公式识别 | 自动识别文档中的行内和行间公式,并将其精准转换为LaTeX格式代码。 | 采用UniMERNet公式解析引擎,能处理复杂数学符号、化学分子式等科学数据,准确率领先。 |
| 🔍 光学字符识别(OCR) | 针对扫描版PDF、图片型文档或乱码PDF,自动开启OCR功能,将图像中的文字识别为可编辑文本。 | 基于PaddleOCR引擎,支持84-109种语言的检测与识别,包括中、英、日、韩等。 |
| 🖼️ 图像与图表提取 | 将文档中的内嵌图片、图表、图示等元素无损提取并单独保存为文件,同时会提取图表的标题和描述文字。 | 优化了图、表与描述文本的匹配逻辑,能准确将标题(如"图1")和脚注与对应的图表关联起来。 |
| ⚙️ 多模态融合与解析 | 核心的"大脑"模块,将视觉特征(布局)与文本特征(语义)进行协同处理,实现端到端的文档理解,避免传统OCR流水线式的误差累积。 | 采用“视觉编码-多模态融合-任务解码”的三明治架构。通过交叉注意力机制,让模型"看懂"文档的布局,而不仅仅是识别文字。 |
🚀 技术架构与先进特性
- 混合后端 (hybrid backend):自v2.7.0版本起引入,融合了传统 Pipeline 与 VLM 的优势。文本型PDF直接抽取原生文本,扫描版则自动调用OCR,兼顾精度与效率。
- 原生高分辨率技术 (Native-Res ViT):MinerU 2.0版本采用的新技术,可直接处理原始高清图像而无需压缩或裁剪,确保公式中的角标、密集表格等关键细节被完整捕捉。
- 硬件高效与多平台支持:模型参数极小(如0.9B),在消费级GPU(如NVIDIA 4090)上即可流畅运行。同时支持纯CPU环境,以及GPU (CUDA)、NPU (CANN) 和 MPS 加速。
- 自动模型管理:从2.0版本开始,MinerU 提供了模型自动下载与更新机制,无需用户手动配置和干预,极大地降低了使用门槛。
- 统一中间格式:采用标准化的
middle_json格式作为内部数据结构,方便开发者进行二次开发和集成,也确保了生态业务的平滑迁移。
🛠️ 服务与部署形态
MinerU 提供了多种使用方式,以适应不同用户和场景的需求:
| 服务形态 | 适用场景 | 特点 |
|---|---|---|
| 命令行工具 (CLI) | 开发者、脚本自动化 | 本地运行,灵活集成到工作流,支持GPU/CPU加速。 |
| 开源库 (SDK) | Python开发者、RAG应用 | 通过import mineru直接调用,可深度集成到LangChain等框架。 |
| API服务 | 企业应用、云端集成 | 内测中,提供标准的RESTful API,便于与业务系统对接。 |
| 桌面客户端 | 个人用户、科研工作者 | 提供图形化界面,开箱即用,无需配置环境。 |
| Docker容器 | 生产环境、私有化部署 | 环境一致,易于编排和弹性伸缩。支持vLLM加速和Gradio WebUI界面。 |
📂 输入与输出
- 支持输入格式:PDF, DOC, DOCX, PPT, PPTX, PNG, JPG, JPEG,以及在线PDF文件的URL。
- 支持输出格式:
- 默认输出:Markdown (md) 和 JSON。
- 可选输出:HTML, DOCX, LaTeX (tex),以及提取出的所有图片文件。
另外一个工具:PaddleOCR、MMOCR