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

推荐订阅源

P
Proofpoint News Feed
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
腾讯CDC
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
博客园 - Franky
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
B
Blog RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Simon Willison's Weblog
Simon Willison's Weblog
Attack and Defense Labs
Attack and Defense Labs
L
Lohrmann on Cybersecurity
S
Schneier on Security
MyScale Blog
MyScale Blog
The Last Watchdog
The Last Watchdog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
博客园 - 聂微东
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Troy Hunt's Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
K
Kaspersky official blog
F
Fortinet All Blogs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
B
Blog
有赞技术团队
有赞技术团队
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Latest news
Latest news
H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Help Net Security
Help Net Security
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
J
Java Code Geeks

BlogFinder

日常漫步 Vol.24 之漫步前山河 - 雅余 周报 #1-聊聊本周的收获 - Edwin's Blog 我的OpenCode必装插件与Skill Write Something 掌中之物未必在掌握之中 · CRIVU PiliNara,一个更顺手的 PiliPlus 分支 「NekoEcho」:做一个必有回响的猫娘主题博客 2026-05 书影音总结 简化博客主题 - 安迪 我第一次发布 npm 包 拾花小记#45:中考前的二三事 – 小改学习志 黛西花园5月游 #18 枇杷又熟了的五月月报 一些奇奇怪怪的需求?word仿方正书版的几个小操作 - Xiobb's Blog 0419 御温泉之旅 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 又回到四十年前 如何定义成功 迷鹿屋2026已重新上线 科技冰火两重天+一周回顾 ${title} 热度退了,我反而用得更深了-咕咚同学 我到底该不该换个域名? 随身WIFI折腾记 - 安迪 博客撰写体验提升——hexo pro插件 为什么不用相机把屏幕上的接关密码拍下来? 国清寺与天台山 – Ouroboros ★★★★☆《挽救计划》——久违的经济上行感 - Davidの3号基地 删除右键“打开方式”里多余选项 第三周刊_No.53|一切都会被支付两次 安卓APP通话记录与录音上传踩坑记录 - 子舒的博客 天量下跌 inBox 笔记 2.3.8,把工具栏交给了你-咕咚同学 我把小龙虾搬到了微信-咕咚同学 安好 - 响石潭 Compound Engineering Plugin:让每个工程单元都比上一个更容易 MOSS-TTS Family:开源高质量语音与声音生成模型家族深度解析 Crawl4AI:专为 LLM 设计的开源 Web 爬虫与数据抓取工具 Build Your Own X:从零实现你最喜欢的技术——程序员进阶的终极资源清单 Anthropic Skills:用文件夹教 Claude 专业技能的开源框架 1年的去月球(下) - 梅之夏 欢迎回来。 简单讲讲 ASN.1 与 OID DTV - 直播聚合客户端 5.22-5.27 – 不兴江 还没去过鸭川 – 不兴江 张晶晶同学三刷林志颖 关于我 – 不兴江 爱与嫉妒 – 不兴江 港股被持续做空 备案码花了四百块-咕咚同学 一句话生成封面:我给公众号做了4种风格的AI封面生成技能 「官」方認證 再谈费曼学习法 2026-05-28T00:34:11+08:00 2026-05-28T00:28:45+08:00 离谱的英语学习指南:基于AI的英语进阶系统方法论 iii:零集成架构的后端统一运行时 Claude Code Harness:让 Claude Code 工作有迹可循的工程化框架 Heretic:全自动移除大语言模型审查机制的开源工具 MarkItDown:微软开源的万能文档转 Markdown 利器 Harness:让 Claude Code 秒变多智能体协作工厂 这段时间尽折腾AI Agent了,确实极大地提高了效率 近期动态:两个新站点正式上线啦 误判解除!zhouayuan.com 腾讯安全申诉成功 - 周阿源|玩具设计・插画日常・生活随笔 Ralph:让 AI 编码工具自主循环跑完所有 PRD 任务的量产神器 全都违法 – 个人工作记录 关于zhouayuan.com被误判 “含违规信息” 的说明与申诉记录 - 周阿源|玩具设计・插画日常・生活随笔 小米 MiMo v2.5 Pro 白嫖 最大的人间清醒,兜里有钱,但是不花。 夜晚靓歌(12):于文文现场solo - 王志勇的Blog 今日插画:风扬起的倔强 - 周阿源|玩具设计・插画日常・生活随笔 回门习俗 独立网卡 - 忘记了回忆 500亿入股人工智能企业 从命令行到桌面智能体-咕咚同学 第一性原理读书笔记 行者微评论223-加班の守株待兔-博客|政治与时事-风雨行者 ZOZO开源物理接触求解器:GPU加速的可扩展仿真引擎 OpenStock:开源股票市场交易平台技术深度解析 MoneyPrinterTurbo:基于AI的全自动短视频生成工具深度解析 Claude-Mem:为 Claude Code 构建的持久化记忆压缩系统 Twenty:可代码化定制的企业级开源 CRM 平台技术深度解析 2026-05-26T22:59:17+08:00 企业级开源大模型部署平台 GPUStack 实战教程 1年的去月球(上) - 梅之夏 Sevalla - 静态网站托管服务 不用翻墙、不用注册、不用月费,普通人也能用上 Claude Code 装修灯具要注意⚠️ 黄梅天先锋 - 游子微博 公安备案顺利办结,站点备案全部完成 - 周阿源|玩具设计・插画日常・生活随笔 第三次兑换天猫超市卡了宗宗酱-三维狐少儿编程 Don't think, feel. - Rolen's Blog 人这一辈子,到底图个什么 博客迁移 - Edwin's Blog 情感赛道写作模板 再现本轮行情的典型特征 裁员与平常心-咕咚同学 别让“偷懒”,成为隐私泄露的破绽 片刻 - Jdeal | Life is like a Design.
MinerU:高精度文档解析引擎,一键转换 PDF/DOCX/PPTX/XLSX 为 Markdown
Cheman · 2026-06-26 · via BlogFinder

今天在 GitHub Trending 上看到一个有意思的项目:MinerU,一个高精度文档解析引擎,能将 PDF、DOCX、PPTX、XLSX 和图片等格式一键转换为结构化的 Markdown 和 JSON,非常适合 LLM、RAG 和 Agent 工作流使用。

一、项目概述

MinerU 是 OpenDataLab 团队开源的文档解析工具,专注于将各种文档格式转换为机器可读的结构化数据。该项目诞生于 InternLM 大模型预训练过程,旨在解决科学文献中的符号转换问题。

核心特性

  • 多格式支持:原生支持 PDF、DOCX、PPTX、XLSX 和图片输入
  • 高精度转换:公式转 LaTeX、表格转 HTML,保持原始文档结构
  • VLM + OCR 双引擎:支持 109 种语言 OCR 识别
  • 智能布局处理:自动去除页眉页脚、页码,保持语义连贯
  • 多种输出格式:Markdown、JSON、多模态中间格式
  • 灵活部署:支持 CPU/GPU 加速,提供 CLI、API、WebUI 多种使用方式

技术指标

在 OmniDocBench v1.6 基准测试中:

  • pipeline 后端准确率:86.47
  • hybrid 后端(high 模式):95.39
  • vlm 后端:95.30

二、技术原理

架构设计

MinerU 采用模块化架构设计,主要包含三大解析后端:

┌─────────────────────────────────────────────────────┐
│                    MinerU Core                       │
├─────────────────────────────────────────────────────┤
│  pipeline    │  hybrid-engine  │  vlm-engine        │
│  (OCR为主)   │  (混合引擎)      │  (VLM为主)         │
├─────────────────────────────────────────────────────┤
│  mineru-api  │  mineru-router │  CLI / Gradio      │
└─────────────────────────────────────────────────────┘

核心技术栈

1. PDF 处理层

  • pypdfium2:高性能 PDF 渲染
  • pdftext:文本提取
  • pypdf:PDF 操作

2. OCR 引擎

  • PaddleOCR:开源 OCR 框架
  • 支持 109 种语言识别
  • PP-OCRv6 模型(3.4 版本升级)

3. VLM 模型

  • MinerU2.5-Pro-2605-1.2B:最新视觉语言模型
  • 支持图像和图表解析
  • 跨页表格合并、断行段落合并

4. 文档解析

  • python-docx:DOCX 处理
  • pypptx-with-oxml:PPTX 解析
  • openpyxl:XLSX 处理

核心代码示例

pyproject.toml 可以看出项目依赖结构:

[project]
name = "mineru"
requires-python = ">=3.10,<3.14"

dependencies = [
    "click>=8.1.7",           # CLI 框架
    "pypdfium2>=4.30.0",      # PDF 渲染
    "pypdf>=5.6.0",           # PDF 操作
    "opencv-python>=4.11.0",  # 图像处理
    "transformers>=4.57.3",   # VLM 模型
    "fastapi",                # API 服务
    # ... 更多依赖
]

解析流程

# 简化的解析流程(概念性代码)
def parse_document(input_path, output_path, backend="pipeline"):
    # 1. 文档预处理
    doc = load_document(input_path)
    
    # 2. 布局分析
    layout = analyze_layout(doc)
    
    # 3. 内容提取(根据后端选择)
    if backend == "pipeline":
        # OCR + 规则引擎
        content = pipeline_extract(doc, layout)
    elif backend == "vlm":
        # VLM 模型推理
        content = vlm_extract(doc, layout)
    elif backend == "hybrid":
        # 混合引擎:OCR + VLM
        content = hybrid_extract(doc, layout)
    
    # 4. 后处理(格式转换)
    markdown = convert_to_markdown(content)
    
    # 5. 输出结果
    save_output(markdown, output_path)

三、安装与快速开始

环境要求

解析后端pipelinehybrid-enginevlm-engine
操作系统Linux/Windows/macOSLinux/Windows/macOSLinux/Windows/macOS
纯 CPU 支持
最小显存4GB8GB8GB
最小内存16GB32GB(推荐)32GB(推荐)
Python 版本3.10-3.133.10-3.133.10-3.13

安装方式

方式一:pip 安装(推荐)

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

方式二:源码安装

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

方式三:Docker 部署

# Linux / Windows (WSL2)
docker pull opendatalab/mineru:latest

最简运行示例

# GPU 环境(默认)
mineru -p input.pdf -o output/

# 纯 CPU 环境
mineru -p input.pdf -o output/ -b pipeline

# 指定文件或目录
mineru -p ./documents/ -o ./parsed/

四、使用方法与实战

CLI 命令详解

# 基础用法
mineru -p <input_path> -o <output_path> [options]

# 参数说明
-p, --path       输入文件或目录(支持 PDF/DOCX/PPTX/XLSX/图片)
-o, --output     输出目录
-b, --backend    解析后端:pipeline | vlm | hybrid(默认:自动选择)
--lang           OCR 语言(默认:ch)
--method         解析方法:auto | txt | ocr

API 服务

启动 API 服务

# 启动本地 API 服务
mineru-api --host 0.0.0.0 --port 8000

# 多 GPU 部署(使用 router)
mineru-router --config config.yaml

API 调用示例

import requests

# 同步解析
url = "http://localhost:8000/file_parse"
files = {"file": open("document.pdf", "rb")}
response = requests.post(url, files=files)

# 异步任务
url = "http://localhost:8000/tasks"
response = requests.post(url, files=files)
task_id = response.json()["task_id"]

# 查询任务状态
status_url = f"http://localhost:8000/tasks/{task_id}"
status = requests.get(status_url).json()

Gradio WebUI

mineru-gradio --server-name 0.0.0.0 --server-port 7860

Python SDK

from mineru import DocumentParser

# 初始化解析器
parser = DocumentParser(backend="pipeline")

# 解析文档
result = parser.parse("document.pdf")

# 获取 Markdown
markdown = result.to_markdown()

# 获取 JSON
json_data = result.to_json()

# 保存结果
result.save("output/")

实际项目示例:RAG 集成

from mineru import DocumentParser
from langchain.text_splitter import MarkdownHeaderTextSplitter

# 1. 解析文档
parser = DocumentParser(backend="hybrid")
result = parser.parse("research_paper.pdf")
markdown_text = result.to_markdown()

# 2. 按标题分割
splitter = MarkdownHeaderTextSplitter(
    headers_to_split_on=[
        ("#", "header1"),
        ("##", "header2"),
        ("###", "header3"),
    ]
)
chunks = splitter.split_text(markdown_text)

# 3. 向量化并存储(接入向量数据库)
# ... 你的 RAG 流程

五、常见问题与解决方案

Q1:安装后 CUDA 加速不可用(Windows)

原因:Windows 上 CUDA 依赖安装路径问题

解决方案

# 参考 Windows CUDA 加速 FAQ
https://opendatalab.github.io/MinerU/faq/#windows-cuda-acceleration

# 或使用 Docker 部署
docker run --gpus all opendatalab/mineru:latest

Q2:OCR 识别准确率不高

解决方案

# 方案 1:升级到 VLM 后端
mineru -p input.pdf -o output/ -b vlm

# 方案 2:指定 OCR 语言
mineru -p input.pdf -o output/ --lang ch+en

# 方案 3:使用 hybrid 后端(兼顾准确率和速度)
mineru -p input.pdf -o output/ -b hybrid

Q3:长文档解析内存溢出

解决方案

# 3.0 版本已优化长文档处理,自动使用滑动窗口
# 确保使用最新版本
pip install -U "mineru[all]"

# 手动分段处理
# 3.0 版本已支持流式写入,无需手动分割

Q4:解析速度慢

优化方案

# 方案 1:使用 pipeline 后端(最快,准确率略低)
mineru -p input.pdf -o output/ -b pipeline

# 方案 2:hybrid 后端使用 medium 模式(3.3 新增)
# 速度提升 35%-220%,准确率仅下降 0.13
mineru -p input.pdf -o output/ -b hybrid --effort medium

# 方案 3:多 GPU 并行
mineru-router --config multi_gpu.yaml

Q5:输出 Markdown 格式混乱

排查步骤

  1. 检查原文档是否有复杂布局(多栏、跨页表格)
  2. 尝试使用 vlmhybrid 后端
  3. 查看 layout.json 中间文件,确认布局分析结果
  4. 提交 issue 并附上样例文档

Q6:Docker 部署后无法访问

解决方案

# 确保端口映射正确
docker run -p 8000:8000 opendatalab/mineru:latest

# 检查防火墙设置
# macOS: 系统偏好设置 → 安全性与隐私 → 防火墙
# Linux: sudo ufw allow 8000

六、版本更新亮点

3.4 版本(2026/06/18)

  • OCR 模型升级至 PP-OCRv6:准确率提升约 11%
  • OCR 处理速度提升 100%:优化推理和处理流水线
  • 模型下载体验优化:自动源选择、本地缓存复用

3.3 版本(2026/06/11)

  • 新增 effort 参数medium 模式速度提升 35%-220%
  • VLM 模型升级MinerU2.5-Pro-2605-1.2B
  • 原生多语言 OCR 支持:减少语言参数配置

3.1.0 版本(2026/04/18)

  • 许可证升级:从 AGPLv3 迁移到 MinerU Open Source License(基于 Apache 2.0)
  • 全格式支持:新增 PPTX、XLSX 原生解析
  • VLM 模型升级:支持图像和图表解析

3.0.0 版本(2026/03/29)

  • 原生 DOCX 解析:无需转 PDF,速度提升数十倍
  • pipeline 后端准确率达 86.2:超越上一代 VLM
  • API/CLI/Router 架构升级:支持异步任务、多 GPU 部署

七、总结

MinerU 是一个功能强大、设计精良的文档解析工具,特别适合需要将非结构化文档转换为结构化数据的场景。无论是构建 RAG 系统、训练 LLM,还是自动化文档处理流程,MinerU 都能提供高质量的解析结果。

推荐使用场景

  • RAG 知识库构建
  • LLM 预训练数据准备
  • 自动化文档处理流水线
  • 科学文献数字化

项目地址:https://github.com/opendatalab/MinerU

在线体验:https://mineru.net

文档:https://opendatalab.github.io/MinerU/