MinerU:让 AI Agent 读懂 PDF 的文档提取利器
在 AI 时代,高质量的数据是模型训练的基石。而 PDF 文档由于其排版复杂(多栏、表格、公式、图片交叉),一直是数据清洗中的"硬骨头"。MinerU 是由上海人工智能实验室 OpenDataLab 团队推出的开源智能数据提取工具,专注于复杂 PDF 文档的高效解析与提取。
什么是 MinerU
MinerU 是一个完整的 document AI 引擎,能够将包含图片、公式、表格等元素的多模态 PDF 文档转化为易于分析的 Markdown 格式。它支持从网页和电子书中提取内容,提高 AI 语料准备效率。
核心特性
- 高精度解析:VLM+OCR 双引擎,支持复杂布局分析
- 多格式支持:PDF、Word、PPT、Excel、图片、HTML、网页
- 多语言支持:109 种语言,包括中日韩、阿拉伯语、泰语等
- 双模式提取:
flash-extract:快速模式,无需 token,适合小文件
extract:高精度模式,需要 token,支持大文件和批量处理
技术架构
MinerU 的核心能力包括:
- 布局分析:自动识别文档结构,包括标题、段落、表格、图片等
- 公式识别:将数学公式转换为 LaTeX 格式
- 表格提取:准确还原表格结构和内容
- OCR 识别:支持扫描件和图片中的文字识别
安装与配置
1. 安装 CLI 工具
MinerU 提供了命令行工具mineru-open-api,可以通过 npm 或 Go 安装:
1 2 3 4 5
| npm install -g mineru-open-api
go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@latest
|
验证安装:
2. 获取 API Token
访问 MinerU 官网获取 API token:
- 打开 https://mineru.net/apiManage/docs
- 登录并创建 token
- 配置 token:
1 2 3 4 5 6 7 8
| mineru-open-api auth
export MINERU_TOKEN="your-token"
echo "token: your-token" > ~/.mineru/config.yaml
|
3. 安装 Agent 技能
MinerU 提供了多种 Agent 技能,支持不同的开发环境:
OpenClaw 技能(推荐)
1 2
| npx skills add tanis90/pdf-converter-mineru
|
Hermes Agent 技能
将技能文件下载并解压到~/.hermes/skills/productivity/mineru-document-extractor/目录。
MCP Server 配置
1 2 3 4 5 6 7 8 9 10 11
| { "mcpServers": { "MinerU": { "command": "uvx", "args": ["mineru-open-mcp"], "env": { "MINERU_API_TOKEN": "your-token" } } } }
|
使用指南
1. 快速提取(无需 token)
对于小文件(≤10 MB,≤20 页),可以使用快速提取模式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mineru-open-api flash-extract report.pdf
mineru-open-api flash-extract report.pdf -o ./output/
mineru-open-api flash-extract https://example.com/doc.pdf
mineru-open-api flash-extract report.pdf --language en
mineru-open-api flash-extract report.pdf --pages 1-10
|
2. 高精度提取(需要 token)
对于大文件或需要更高精度的场景:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mineru-open-api extract report.pdf
mineru-open-api extract report.pdf -f html
mineru-open-api extract report.pdf -o ./out/ -f md,docx
mineru-open-api extract *.pdf -o ./results/
mineru-open-api extract report.pdf --model vlm
|
3. 网页提取
1 2 3 4 5
| mineru-open-api crawl https://example.com/article
mineru-open-api crawl url1 url2 -o ./pages/
|
4. 在 Agent 中使用
安装技能后,可以直接用自然语言与 Agent 交互:
1 2 3 4
| > 帮我读一下 ./papers/attention-is-all-you-need.PDF,总结核心贡献 > 把 quarterly-report.pdf 里的财务数据表格提取出来 > 这份扫描的合同 contract-scan.pdf,帮我找到付款条款 > 把 ./docs/ 下所有 PDF 转成 Markdown
|
实际应用场景
场景一:学术论文研读
1 2 3 4 5
| mineru-open-api extract paper.pdf -f md
mineru-open-api extract *.pdf -o ./papers_md/
|
场景二:技术文档处理
1 2 3 4 5
| mineru-open-api extract API-reference.PDF
mineru-open-api extract report.pdf -f DOCX
|
场景三:扫描件 OCR
1 2 3 4 5
| mineru-open-api extract scan.pdf --OCR
mineru-open-api extract chinese_scan.pdf --language ch
|
场景四:网页内容抓取
1 2 3 4 5
| mineru-open-api crawl https://example.com/article
mineru-open-api crawl url1 url2 url3 -o ./web_content/
|
支持格式对比
| 格式 |
flash-extract |
extract |
| PDF (.PDF) |
✅ |
✅ |
| 图片 (.png, .jpg, .jpeg, .webp, .gif, .bmp) |
✅ |
✅ |
| Word (.DOCX) |
✅ |
✅ |
| Word (.doc) |
❌ |
✅ |
| PowerPoint (.PPTX) |
✅ |
✅ |
| PowerPoint (.ppt) |
❌ |
✅ |
| Excel (.XLSX) |
✅ |
✅ |
| Excel (.xls) |
❌ |
✅ |
| HTML (.HTML) |
❌ |
✅ |
| URLs (远程文件) |
✅ |
✅ |
模型选择建议
VLM 模型 vs Pipeline 模型
| 特性 |
VLM 模型 |
Pipeline 模型 |
| 解析精度 |
更高,复杂布局表现更好 |
标准 |
| 幻觉风险 |
可能产生幻觉文本 |
零幻觉 |
| 适用场景 |
复杂格式文档 |
需要可靠性的场景 |
建议:
- 复杂格式文档使用
--model vlm
- 需要零幻觉可靠性时使用
--model pipeline
集成方案
MinerU 提供了多种集成方式:
1. LangChain 集成
1 2 3 4 5 6 7 8 9 10 11 12 13
| from langchain_mineru import MineruLoader
loader = MineruLoader("file.pdf") docs = loader.load()
loader = MineruLoader( "file.pdf", mode="precision", token="your_token", split_pages=True )
|
2. LlamaIndex 集成
1 2 3 4
| from llama_index.readers.mineru import MineruReader
reader = MineruReader() documents = reader.load_data("file.pdf")
|
3. Python SDK
1 2 3 4 5 6 7 8 9
| from mineru_sdk import Client
client = Client(flash=True) result = client.parse("file.pdf")
client = Client(token="your_token") result = client.parse("file.pdf")
|
常见问题
Q1: 文件大小有限制吗?
flash-extract模式:10 MB / 20 页
extract模式:200 MB / 200 页
Q2: 支持中文文档吗?
默认支持中英混排,OCR 覆盖 109 种语言。
Q3: 和直接用 CLI 有什么区别?
安装技能后,Agent 可以自动完成整个流程,你只需要用自然语言描述需求。
Q4: 和 MCP server 方案怎么选?
- 技能方案:轻量,一行命令搞定,适合简单场景
- MCP 方案:适合需要长期运行、复杂状态管理的场景
总结
MinerU 是一个功能强大的文档提取工具,特别适合需要处理复杂 PDF 文档的场景。通过 CLI 工具、Agent 技能、MCP Server 等多种集成方式,可以轻松融入现有的开发工作流。
对于 AI Agent 来说,MinerU 提供了"读懂 PDF"的能力,让 Agent 能够直接处理 PDF、扫描件、Word、PPT 等多种格式的文档,大大扩展了 Agent 的应用范围。
参考资料
- MinerU 官方文档
- MinerU GitHub 仓库
- MinerU API 文档
- OpenClaw 技能市场