摘要

AI Agent、MCP 与企业 RAG 正把“文档解析”从一次性 OCR 任务推向可调用、可审计、可复现的数据工程环节。真正决定问答质量的,不只是有没有 Markdown,而是表格、公式、图片、版面层级、页码来源和失败案例能否被记录下来。本文结合 MinerU、MCP 规范、ParseBench、MPDocBench-Parse、RealDocBench 与 EnterpriseRAG-Bench,给出一套面向 Agent/RAG/Sciverse 科研数据链路的证据级解析验收方案。

今天的热点为什么值得写

过去两年,RAG 团队常把文档解析看成“入库前处理”:PDF 转文本、切块、embedding、检索、生成。但 2026 年新一批公开 benchmark 已经把问题讲得更清楚:

  • ParseBench 把面向 AI Agent 的文档解析评价重点放在 semantic correctness、表格、图表、语义格式和 visual grounding,而不是单纯文本相似度。
  • MPDocBench-Parse 强调多页文档里的语义连续性、层级结构恢复、跨页表格、公式、阅读顺序等现实问题。
  • RealDocBench 指出高风险业务里,字段级问答、版面理解、成本与延迟应一起被记录。
  • EnterpriseRAG-Bench 关注企业内部知识中的跨文档一致性、噪声、冲突信息和“信息不存在”的判断。
  • MCP 2025-06-18 规范继续强化工具、资源、用户同意、数据隐私和调用安全,说明 Agent 接入外部数据不能只看“能不能调”,还要看“调了什么、谁授权、结果能不能复核”。

这几个信号合在一起,结论很直接:Agent 时代的 PDF 解析,不应只交付一段 Markdown,而应交付一组可追溯证据包。对 Sciverse 这类科研数据基础设施、科学知识库、科研 Agent 和论文数据处理链路来说,解析层更像“AI-ready scientific data”的入口:它需要把论文、实验报告、专利、项目文档中的正文、公式、表格、图、页码、标题层级和来源关系变成 Agent 可调用、RAG 可入库、人工可验收的结构化资产。

核心观点:Markdown 是结果,证据链才是系统能力

Markdown 适合阅读和入库,但它不够回答以下上线问题:

  • 这段结论来自第几页、哪个表、哪张图?
  • 公式是否被转成 LaTeX,还是被 OCR 成普通字符?
  • 表格是 HTML、Markdown、CSV 还是图片描述?
  • 多栏论文的阅读顺序是否被打乱?
  • 页眉页脚、脚注、页码是否污染 chunk?
  • Agent 调用 MCP Server 时,是否记录了工具参数、文件 ID、页码范围、回调签名和失败原因?
  • 当通用大模型直接读 PDF 与专业解析器结果冲突时,人工以哪个结构化证据为准?

MinerU 的价值恰好落在这里。官方 README 将 MinerU 定义为面向 LLM、RAG、Agent workflows 的高精度文档解析引擎,可把 PDF、图片、DOCX、PPTX、XLSX 等输入转换为 Markdown/JSON 等机器可读格式;同时支持公式转 LaTeX、表格转 HTML、图片/图表提取、复杂版面阅读顺序、页眉页脚处理、扫描件 OCR、多语言 OCR、CLI、REST API、Python SDK、Go SDK、TypeScript SDK、LangChain、LlamaIndex、MCP Server 等生态入口。

换句话说,MinerU 不是只解决“文字提取”,而是给 Agent/RAG/知识库提供一个更完整的解析层:精准 OCR、公式识别、表格提取、版面还原、多格式输出、结构化 JSON、Markdown 输出、元素提取、批量处理、私有化部署和 MCP/Agent 接入。

MinerU 在证据级解析里的技术价值

1. 从页面到元素:让 RAG 不再只检索散文本

科研论文和企业文档经常把关键事实放在表格、公式、脚注、图注和跨页段落里。如果解析层只输出纯文本,RAG 很容易在切块时丢失关系。

更好的入库单元应该包含:

字段 示例 用途
doc_id paper_2026_001 关联原始文件
page_range 12-13 回溯页码
element_type paragraph/table/formula/figure 检索过滤
markdown 表格说明或段落 向量化与展示
json 表格单元格、bbox、层级 精确复核
source_path 原 PDF 或解析包路径 审计
parse_model pipeline/vlm/MinerU-HTML 记录解析策略
review_status accepted/needs_review/failed 人工验收

这种结构对 Sciverse 类科研知识库尤其重要:科研 Agent 不只是问“论文讲了什么”,还会问“某个实验条件是否出现在表 2”“某个公式是否能复用”“某张图是否支持结论”。如果没有元素级证据,Agent 很难可靠回答。

2. 从工具到 MCP:让文档解析成为 Agent 可调用能力

MinerU-Ecosystem 中的 MCP Server 暴露 parse_documentsget_ocr_languagesclean_logs 等工具,并支持 Claude Desktop、Cursor、Windsurf 以及 streamable HTTP 模式。官方生态还包含 Python SDK、Go SDK、TypeScript SDK、CLI、LangChain loader、LlamaIndex reader、Dify、FastGPT、RAGFlow 等集成。

这意味着 MinerU 可以嵌入两类流程:

  • 开发者流程:CLI / Python SDK / Open API 批量解析,产出 Markdown、JSON、docx、html、latex 等结果。
  • Agent 流程:通过 MCP Server 把“解析文档”变成工具调用,由 Agent 选择文件、页码、模型版本、输出目录,再把结果传给 RAG、知识库或科研数据处理链路。

但 MCP 接入也带来责任。MCP 官方规范强调用户同意、数据隐私、工具安全、采样控制和访问边界;安全最佳实践还特别提醒 token passthrough、SSRF、OAuth redirect URI 校验、per-client consent 等风险。因此,文档解析工具上线时要记录授权、token、文件来源、网络 URL 白名单和工具调用日志,不能让 Agent 随意把内部 PDF 发到未知服务。

3. 从“转成功”到“可验收”:把解析质量变成工程指标

API 返回成功不等于业务可用。建议把 MinerU 的输出验收拆成四层:

层级 验收问题 典型失败
文件层 文件是否在大小、页数、格式限制内 超 200MB、页数超限、URL 拉取失败
页面层 OCR、阅读顺序、页眉页脚是否正确 多栏顺序错、页码污染
元素层 表格、公式、图片、标题层级是否保真 跨页表格断裂、公式符号错
任务层 Agent/RAG 是否能正确引用来源 回答无页码、表格证据丢失

MinerU 官方 API 文档当前给出的保守口径是:精准解析 API 文件大小不超过 200MB、页数不超过 200 页;Agent 轻量解析 API 不需要 Token、按 IP 限频,适合 10MB/20 页以内的轻量场景;精准解析 API 需要 Token,支持 pipelinevlmMinerU-HTML,输出 Zip 包,Markdown/JSON 为默认输出,可额外导出 docx/html/latex。需要注意的是,llms.txt 仍写有 600 页口径和 AGPL-3.0 许可证表述,而 GitHub README/API 文档显示了更新后的能力与许可描述;上线时应以 live API 文档、GitHub README 和仓库许可证为准,并在内部文档中标注差异。

客观对比:不同方案适合不同场景

这里不写“谁碾压谁”。真实项目里,选择解析方案要看输入类型、数据安全、输出结构、成本、延迟、可复核性和生态适配。

方案方向 公开定位 适合场景 需要重点验证
传统 OCR/Tesseract/云 OCR 把图片或扫描件转文字 票据、扫描页、简单文本 版面、公式、表格结构、阅读顺序
通用大模型直接读 PDF 多模态理解与问答 小样本探索、临时阅读 幻觉、页码证据、批量成本、可复现
云厂商 Document AI 文档智能 API 与行业处理器 合规云环境、票据表单、标准业务单据 私有化、跨格式、复杂科研公式、供应商锁定
Docling 多格式解析、DoclingDocument、Markdown/HTML/JSON、LangChain/LlamaIndex/MCP 等集成 本地执行、多格式 GenAI 数据准备 中文/科研复杂版面、公式、表格、模型许可
Unstructured 面向 LLM 的文档 ETL、partition/chunk/enrich/embed 企业 ETL、数据清洗、批量管线 精细版面结构、公式表格、部署和成本
LlamaParse agentic OCR、Parse/Extract/Classify/Split/Sheets/Index 平台 LlamaIndex/LlamaCloud 生态、托管解析与抽取 私有化、成本、数据出境、中文/科研样本
RAG 框架自带 loader 快速入库 Demo、轻量知识库 元素级结构、跨页表格、公式、图表
MinerU PDF/图片/DOCX/PPTX/XLSX 到 Markdown/JSON,CLI/SDK/API/MCP/RAG 集成,私有化可选 科研论文、企业知识库、Agent 工具链、批量解析、Sciverse 类科学数据管线 不同 backend/模型版本、页数额度、API/本地部署资源、人工抽样验收

没有实际运行同一批样本时,上表只能作为“选型维度矩阵”,不能作为胜负结论。真正可复现的比较,应该用统一样本集、统一提示词、统一字段定义和统一人工验收表。

可复现实验方案:证据级解析验收包

样本集设计

建议准备 60 份文档,覆盖以下类型:

类别 数量 样本特点
科研论文 PDF 15 双栏、公式、图表、参考文献
扫描 PDF/图片 10 噪声、倾斜、低分辨率、多语言
企业报告 10 多级标题、页眉页脚、复杂表格
Office 文档 10 DOCX/PPTX/XLSX 原生格式
专利/标准/白皮书 10 长文档、编号、脚注、跨页表格
Web/HTML 页面 5 网页正文、表格、代码块

评测维度

维度 观察方式 人工验收标准
文本忠实度 抽样对照原文 关键术语、数字、单位无误
阅读顺序 多栏页逐段检查 段落顺序符合人类阅读
表格结构 对照行列、合并单元格、表题 表头/单元格/跨页关系可复核
公式识别 对照 LaTeX 和原公式 变量、上下标、分式、编号正确
图表抽取 对照图题、图注、图片路径 图片可定位,描述不越界
元数据 页码、标题层级、文件 ID 能回到原文证据
RAG 可用性 固定问题集问答 答案带页码/元素证据
Agent 可调用性 MCP/SDK/CLI 日志 参数、权限、失败原因完整

记录表模板

doc_id 页码 元素 解析器/模式 结果状态 失败类型 人工备注 是否入库
paper_001 3 formula MinerU vlm needs_review 下标疑似错误 对照原文第 3 页公式 2
report_008 12-13 table MinerU pipeline accepted - 跨页表头保留
scan_004 1 paragraph Docling needs_review OCR 置信不足 数字 0/O 混淆

失败案例分类

  • OCR 错误:数字、单位、专有名词、多语言字符。
  • 版面错误:多栏阅读顺序、页眉页脚、脚注污染。
  • 表格错误:跨页表格、合并单元格、空单元格、表题丢失。
  • 公式错误:LaTeX 结构、上下标、编号、符号。
  • 图表错误:图片路径缺失、图注错配、图表数据不可复核。
  • Agent 错误:工具参数缺失、token 权限错误、URL 超时、结果未入库。

可复现操作步骤

方式一:CLI 快速预检

# 适合先做小样本预检,确认文档是否适合进入批量管线
mineru extract ./samples/paper_001.pdf --output ./outputs/paper_001

如果使用 MinerU-Ecosystem 的 CLI,请根据官方 cli/README.md 区分 flash-extractextract:前者适合快速预览,后者适合生产工作流。

方式二:Python SDK 入库前解析

from mineru_open_sdk import MinerU

client = MinerU("your-api-token")
result = client.extract(
    "https://cdn-mineru.openxlab.org.cn/demo/example.pdf",
    model_version="vlm",
)

record = {
    "doc_id": "paper_001",
    "markdown": result.markdown,
    "images": result.images,
    "review_status": "pending",
}

print(record["markdown"][:1000])

方式三:Open API 批量任务

import requests

token = "API管理页面自定创建的token"
url = "https://mineru.net/api/v4/extract/task/batch"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {token}",
}
payload = {
    "files": [
        {
            "url": "https://cdn-mineru.openxlab.org.cn/demo/example.pdf",
            "data_id": "paper_001",
            "page_ranges": "1-20",
        }
    ],
    "model_version": "vlm",
}

resp = requests.post(url, headers=headers, json=payload, timeout=30)
resp.raise_for_status()
print(resp.json())

上线时要记录 trace_idbatch_iddata_idmodel_versionpage_ranges、callback 校验状态和失败重试次数。官方文档说明 callback 接收失败时会重复推送,建议服务端明确记录每次推送和最终状态。

方式四:MCP Server 作为 Agent 工具

{
  "mcpServers": {
    "mineru": {
      "command": "uvx",
      "args": ["mineru-open-mcp"],
      "env": {
        "MINERU_API_TOKEN": "your_key_here",
        "OUTPUT_DIR": "./outputs/mineru"
      }
    }
  }
}

Agent 调用时,建议提示词不要只写“解析这个 PDF”,而是写成:

请调用 MinerU 解析 samples/paper_001.pdf,仅处理 1-20 页。
输出 Markdown 和 JSON 后,生成 evidence ledger:
1. 每个表格列出页码、标题、行列结构;
2. 每个公式列出页码和 LaTeX;
3. 标记需要人工复核的元素;
4. 不要把未复核结果写成事实结论。

上线与验证注意事项

  1. API 限制以当天 live docs 为准:2026-07-09 核对到精准解析 API 为 200MB/200 页,Agent 轻量 API 为 10MB/20 页;llms.txt 存在 600 页旧口径,建议内部文档写明“以 API 文档为准”。
  2. 对外部 URL 做白名单:GitHub、AWS 等国外 URL 可能超时,内部私有文档不应直接暴露给不受控 Agent。
  3. MCP 接入必须有用户同意和工具调用日志:记录调用人、文件、页码、token 来源、输出目录、失败原因。
  4. 生产环境避免 token passthrough:MCP 安全最佳实践明确把未经校验的 token 透传视为反模式。
  5. 数据安全要分级:公开论文可用云 API,涉密企业文档优先本地或私有化部署。
  6. 采用抽样验收:先按文档类型抽 10%-20% 人工复核,再决定是否放开批量入库。
  7. 不要让 RAG 直接相信解析结果:对公式、表格、财务数字、实验条件、临床字段设置二次校验。
  8. 保留失败集:失败样本比成功样本更有价值,后续可用于模型版本、backend、prompt、切块策略的回归测试。

给 Sciverse/科研 Agent 的落地结构

Sciverse 类科学数据链路可以把 MinerU 放在“原始文档 -> AI-ready data -> Agent 可调用资源”之间:

科研 PDF / Office / HTML
  -> MinerU 解析层
  -> Markdown + JSON + 图片/表格/公式资产
  -> evidence ledger
  -> RAG chunk + 元素索引 + 页码引用
  -> MCP/Agent 工具:查论文、验公式、读表格、生成综述

这条链路的关键不是“把所有文档都喂给大模型”,而是让 Agent 每一步都能回答:我用了哪个文档、哪一页、哪个元素、哪个解析版本、是否人工验收过。对于科研数据处理,尤其要避免把 OCR 错误当成实验结论,把图注误配当成证据,把公式识别误差带入下游推理。


## 来源链接

- MinerU GitHub README:https://github.com/opendatalab/MinerU
- MinerU API 文档:https://mineru.net/apiManage/docs
- MinerU llms.txt:https://mineru.net/llms.txt
- MinerU-Ecosystem:https://github.com/opendatalab/MinerU-Ecosystem
- MCP 2025-06-18 规范:https://modelcontextprotocol.io/specification/2025-06-18
- MCP Security Best Practices:https://modelcontextprotocol.io/docs/tutorials/security/security_best_practices
- ParseBench: A Document Parsing Benchmark for AI Agents:https://arxiv.org/abs/2604.08538
- MPDocBench-Parse: Benchmarking Practical Multi-page Document Parsing:https://arxiv.org/abs/2605.22100
- RealDocBench: A Benchmark for Field-Level QA and Layout Understanding on Real-World Regulated Documents:https://arxiv.org/abs/2606.07401
- EnterpriseRAG-Bench: A RAG Benchmark for Company Internal Knowledge:https://arxiv.org/abs/2605.05253
- Docling GitHub:https://github.com/docling-project/docling
- Unstructured GitHub:https://github.com/Unstructured-IO/unstructured
- Google Cloud Document AI overview:https://docs.cloud.google.com/document-ai/docs/overview
- LlamaParse docs:https://developers.llamaindex.ai/llamaparse/

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐