惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Vercel News
Vercel News
月光博客
月光博客
S
SegmentFault 最新的问题
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
小众软件
小众软件
WordPress大学
WordPress大学
G
Google Developers Blog
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 【当耐特】
I
InfoQ

博客园 - 人艰不拆_zmc

AG-UI 是什么?一篇文章讲清楚 AI Agent 与前端如何交互 AI 里的“本体”到底是什么?一篇写给技术小白的通俗解释 15000mAh 到底是什么概念?一篇看懂电池容量 go2_ros2_sdk 到底是干什么的?从 Go2、官方 SDK、ROS2 一路讲到 SLAM 和 Nav2 买了宇树 Go2 以后怎么二次开发?写给第一次做机器狗项目的人 买了一块 NVIDIA Jetson,怎么在上面安装 ROS2?从 JetPack 到 ROS2 的完整入门指南 NVIDIA Jetson 到底是什么?写给第一次接触机器人和边缘 AI 的人 ROS / ROS2 到底是什么?写给第一次接触机器人开发的人 大模型到底能同时多少人用?一篇看懂并发、排队与容量估算 大模型为什么有快有慢?一篇看懂响应速度背后的关键因素 技术小白也能看懂:大模型里的量化、蒸馏到底是什么意思? Codex 使用技巧:从“会聊天”到“真正能干活” 我终于搞懂了:Codex 对话中插件和 Skill 到底怎么用 我终于搞懂了 Agent Spec:它其实就是 Agent 的“标准设计图” 我终于搞懂了 Tool:原来不只是 Function Calling 里的函数 Skill 里的 Python 脚本,到底是不是 Tool? 我终于搞懂了 Codex 的 Plugin 和 Skill:顺便把 App、MCP 一次理清 我终于搞懂了 Codex 的“应用”:App 到底是什么,怎么添加和维护? 我终于搞懂了 Tool、Function Calling 和 MCP:大模型到底怎么知道该调哪个接口? 我终于搞懂了 MCP:从 HTTP API 到 ERP MCP Server 的完整入门 我终于搞懂了 Codex 的“记忆”是怎么回事 Codex 用久了越来越慢?我的上下文管理小技巧 我终于搞懂了 Codex 里的 Thread、Turn 和 Session 从 Qwen3.8-27B 到 FP8、NVFP4、MoE:一次搞懂几个常见大模型概念 FPS 是什么意思?简单理解 60 FPS、25 FPS 和视频帧率 DeepSeek Harness 明明像 AI Coding 工具,为什么又能用来构建各种 Agent? 使用 Codex 开发项目,怎么才能节约 Token? 模型里的 32K、128K、256K 是什么意思?简单聊聊上下文限制 Codex 一次对话到底会给模型发送什么?以 Spring Boot 项目为例讲清 Context、代码读取与 Token 消耗 AI Agent 中的 Rule 是什么?以 Codex 为例,小白也能看懂
全面解析 Mineru:高效文件解析工具的核心参数详解
人艰不拆_zmc · 2026-02-21 · via 博客园 - 人艰不拆_zmc

1、什么是 Mineru?

MinerU是一个将复杂文档(如PDF)转换为LLM就绪的markdown/JSON格式的工具,用于Agentic工作流。相比传统PDF解析工具,MinerU在文档结构解析、多媒体提取、公式识别等方面有着显著优势。

主要功能包括:

  • 文档结构解析:移除页眉页脚、脚注、页码等,确保语义连贯性
  • 内容提取:输出按人类可读顺序排列的文本,支持单列、多列和复杂布局
  • 格式保持:保留原始文档结构(标题、段落、列表等)
  • 多媒体提取:提取图像、图像描述、表格、表格标题和脚注
  • 公式识别:自动将文档中的公式转换为LaTeX格式
  • 表格识别:自动将表格转换为HTML格式
  • OCR支持:自动检测扫描版PDF并启用OCR功能,支持84种语言
  • 多平台支持:兼容Windows、Linux、Mac平台,支持CPU/GPU/NPU加速

image

2、环境准备与安装

2.1 硬件要求

  • CPU推理:支持纯CPU环境
  • GPU要求:Turing架构及以上,6GB+显存(pipeline后端)或8GB+显存(VLM后端)
  • 内存要求:最低16GB+,推荐32GB+
  • 磁盘空间:20GB+,建议SSD
  • Python版本:3.10-3.13

2.2 安装方法

(1)使用pip或uv安装

pip install --upgrade pip
pip install uv
uv pip install -U "mineru[core]"

(2)基于源码安装

git clone https://github.com/opendatalab/MinerU.git
cd MinerU
uv pip install -e .[core]

(3)Docker部署

项目提供Docker部署方式,可快速搭建环境解决兼容性问题。

3、配置文件详解

MinerU提供了灵活的配置选项,主要包括:

  • 解析后端设置(pipeline和VLM两种)
  • 输出格式选择(Markdown、JSON等)
  • OCR语言设置
  • 图像和表格处理参数

配置文件通常包括解析精度、资源使用限制等关键参数,可以根据需要进行调整。

image

3.1 解析后端pipeline和VLM对比

image

3.1.1 Pipeline 后端(传统流水线)

  • 原理:基于计算机视觉(CV)规则和传统OCR引擎(如PaddleOCR)的组合管道。先分析页面布局(定位标题、段落、图片区域),再对文本区域进行OCR或直接提取。
  • 核心模型:由多个专项轻量模型 + 规则组成工具链,分工处理不同任务:
    • 布局分析:DocLayoutYOLO(识别标题、段落、表格等元素位置);
    • OCR 识别:PaddleOCR(提取图片中的文字);
    • 表格解析:UnetTableModel(有线表格)、RapidTableModel(无线表格);
    • 公式处理:YOLOv8MFD(公式检测)+ Unimernet(公式识别为 LaTeX)。
  • 辅助工具:需要坐标计算(如 IOU 重叠度)、规则匹配(如列表缩进判断)等工程化逻辑。
  • 特点

    • 速度快,资源消耗低,适合批量和实时处理。

    • 对标准电子版文档(如Word生成的PDF)提取准确率高。

    • ✅ 技术成熟,稳定性好。

    • ❌ 对极端复杂排版(如多栏混排、不规则表格)的还原能力有限。

    • ❌ 对扫描质量差的文档容错率较低。

3.1.2 VLM 后端(视觉 - 语言模型)

  • 原理:利用视觉语言大模型理解整个文档页面,像人一样“阅读”并结构化信息。能更好地理解上下文和语义关系。
  • 核心模型:依赖视觉 - 语言大模型(如 Qwen2VL、LLaVA 等),具备 “看图理解内容 + 格式” 的能力,需配合 vllm 等推理引擎加速(支持批量 / 异步推理)。
  • 辅助工具:仅需基础的 PDF 转图像工具(如 pdf2image),无需其他专项模型(布局分析、OCR、表格解析等均由大模型内部完成)。
  • 特点

    • 理解能力极强,对复杂排版、图表关联、公式、手写体等有更好的还原度。

    • 文档结构还原更精准,逻辑顺序更符合人类阅读习惯。

    • ✅ 对低质量扫描件的鲁棒性更好。

    • 速度慢,计算资源消耗大(尤其依赖GPU)。

    • ❌ 通常需要本地部署或使用特定云端服务,配置更复杂。

3.1.3 性能指标对比

处理速度对比:

模式单页处理时间批处理效率加速方案
Pipeline 2-5秒/页 支持批量并行 GPU加速
VLM-transformers 10-20秒/页 单页串行 无原生加速
VLM-sglang 0.5-1秒/页 支持批量并行 sglang加速20-30倍

资源消耗对比:

资源类型Pipeline模式VLM-transformersVLM-sglang
GPU显存 6GB+ 8GB+ 8GB+
CPU内存 中等 较低 较低
模型存储 多模型总计~5GB 单模型~2GB 单模型~2GB

精度表现对比(基于标准测试集的评估结果):

任务类型Pipeline模式VLM模式优势方
常规文本 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ Pipeline
复杂布局 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ VLM
手写文本 ⭐⭐ ⭐⭐⭐⭐ VLM
多语言混合 ⭐⭐⭐⭐ ⭐⭐⭐ Pipeline
公式解析 ⭐⭐⭐⭐ ⭐⭐⭐ Pipeline
表格识别 ⭐⭐⭐ ⭐⭐⭐⭐ VLM

部署方案对比:

部署方式Pipeline模式VLM模式
最低配置 CPU + 8GB内存 GPU 8GB + 16GB内存
推荐配置 GPU 6GB + 16GB内存 GPU 16GB + 32GB内存
模型下载 多模型~5GB 单模型~2GB
依赖项 较多专业库 相对简洁

3.2 配置场景推荐

您的场景

推荐配置

理由

批量处理标准电子版PDF/Word(如公文、报表)

关闭OCR​ + Pipeline后端

直接提取文字层,速度最快,结果足够准确,成本最低。

处理扫描版PDF或图片文档

开启OCR​ + Pipeline后端

必须通过OCR获取文字。Pipeline方案在清晰度尚可的扫描件上性价比最高。

处理高度复杂的学术论文、古籍、杂志

开启OCR​ + VLM后端

VLM能更好地理解多栏排版、图文混排、数学公式和参考文献的复杂结构。

对格式还原精度要求极高(如存档、出版)

开启OCR​ + VLM后端

VLM的语义理解能力可以最大程度保留原文档的视觉和逻辑结构。

在本地服务器处理敏感/涉密文档

本地部署VLM服务,并填写server地址

数据不出内网,安全可控,同时能利用大模型的高精度解析能力。

快速验证或处理简单文档

使用 MinerU云端服务,语言设auto

无需部署,开箱即用,适合原型验证或轻量使用。

3.3 总结与建议

  • 优先尝试默认Pipeline:对于大多数清晰、结构规范的电子文档,默认的 pipeline模式在速度和准确度上是最平衡的选择。

  • 复杂和扫描件用VLM:当遇到复杂排版、或Pipeline解析结果不理想时,特别是处理学术论文、古籍、复杂报告时,应转向 v2+ VLM后端的方案。

  • OCR是开关,不是质量决定项开启OCR是处理图片类文档的必要条件,但最终解析质量由“OCR精度” + “后端结构理解能力”共同决定。VLM后端能弥补OCR的某些不足。

  • 从云端到本地:建议先在 MinerU官网(mineru.net)​ 的在线体验区,用不同配置测试您的典型文档。确定最佳配置后,再考虑是否需要为性能、隐私或定制化需求而进行本地部署。

 4、API调用

MinerU提供云端API服务,可以通过简单的HTTP请求调用文档解析功能:

image

import requests

token = "官网申请的api token"
url = "https://mineru.net/api/v4/extract/task"
header = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {token}"
}
data = {
    "url": "https://cdn-mineru.openxlab.org.cn/demo/example.pdf",
    "is_ocr": True,
    "enable_formula": False,
}

res = requests.post(url,headers=header,json=data)
print(res.status_code)
print(res.json())
print(res.json()["data"])

API参数说明:

  • url: 要解析的PDF文档在线链接
  • is_ocr: 是否启用OCR识别(默认True)
  • enable_formula: 是否启用公式识别(默认False)

返回结果包含任务ID,可通过任务ID查询解析进度和结果

5、Dify配置私有化部署MinerU

(1)在插件市场搜索 MinerU,点击下载安装即可。

(2)如果使用MinerU官方API,授权地址是 https://mineru.net;如果是私有化部署的MinerU,授权地址是http://服务器Ip:MinerU监听端口;

image

(3)为了避免如下报错,需要设置 Dify 的配置文件

cd /data/dify/dify-1.11.4/docker/
vim docker-compose.yaml 
  FILES_URL: ${FILES_URL:-http://192.168.137.138:5001}

FILES_URL设置为 http://Dify宿主机IP:5001(如 http://192.168.137.138:5001,这里的 IP 通常是运行 Dify 的机器的 IP,即前文提到的“本地IP”端口。5001是 Dify API 服务的默认端口)。

确认 Dify API 服务的5001端口已对外暴露(可检查docker-compose.yaml文件的端口映射)。

image

 重启 Dify 服务以使配置生效。

(4)之后就可以在工作流中使用MinerU工具进行文档解析。

6、总结

MinerU作为一款专注于文档解析的工具,为AI Agent提供了高质量的文档处理能力。通过其强大的结构化解析、公式表格识别等功能,可以将复杂的PDF文档转换为机器可理解的格式,为后续的AI处理提供了坚实基础。 

官方文档:https://mineru.net/apiManage/docs

参考:https://blog.csdn.net/Vantastic999/article/details/153752920

参考:https://blog.csdn.net/gitblog_00804/article/details/151124271

参考:https://blog.csdn.net/star_nwe/article/details/151418668