公司动态
表格不是段落:Agentic RAG 的文档解析验收,应该从表格开始
ParseBench、SCORE-Bench、Docling 图表抽取和 Unstructured 的 agentic table parsing 都在提醒同一件事RAG 和 Agent 不是只缺更长上下文而是缺更可信的结构化输入。PDF、Office、扫描件和科研论文里的表格一旦被压平成段落后面的检索、引用、计算和工具调用都会失真。MinerU 的表格提取、精准 OCR、版面还原、公式识别、Markdown/JSON 输出与 MCP/SDK 生态适合放在“表格优先”的入库验收层。热点背景近期文档解析的公开热点正在从“能不能抽出文字”转向“结构是否适合 Agent 使用”。ParseBench 将文档解析评测明确放到 AI agents 语境里强调语义正确性而不只是文本相似度其公开页面把 tables、charts、content、semantic formatting、grounding 放在同一套评测维度中。Unstructured 的 SCORE-Bench 也指出现代解析输出可能是 Markdown、HTML、JSON 或显式关系结构传统 OCR 字符级指标很难公平衡量这些结构化结果并单独把表格里的 cell content 与 cell-level index 作为关键观察项。Docling 近期在图表理解上也释放了类似信号图表不应只作为图片保存而应尽量转成可验证的结构化表格例如 chart-to-CSV、chart-to-summary 或 chart-to-code。对 RAG、Agent 和科研数据处理来说表格、图表、公式和页面证据越来越像一等数据对象而不是文本 chunk 的附属品。MinerU 官方llms.txt将 MinerU 定义为面向 LLM、RAG 和 Agent 工作流的智能文档解析平台可把 PDF、Word、PPT、图片、HTML 等转换为 Markdown、JSON、LaTeX、HTML 等结构化数据并覆盖高级表格识别、公式识别、多语言 OCR、批量处理、图像与图表提取、MCP、CLI/SDK、LangChain、LlamaIndex 等入口。官方 API 文档显示精准解析 API 支持pipeline、vlm、MinerU-HTML可配置enable_table、enable_formula、is_ocr、page_ranges默认输出 Markdown/JSON并可额外导出 docx、html、latex。公开路径中未找到可核验的llms-full、llms-full.txt或llms-full.md资料本文不引用不存在的完整模型资料。这和 Sciverse / SciBase 类科研数据基础设施有天然关系。科研 Agent 面对的是论文、专利、实验说明、补充材料、图表、公式和数据表。若表格入库时行列关系、单位、页码、标题路径和来源证据丢失Agent 后续即使能调用 MCP 工具也很难可靠回答“表 2 的实验组是否支持结论”“某个指标是否跨论文可比”“图表背后的数值能否复算”。核心观点1. Agentic RAG 的入库对象不应该只有 chunk很多 RAG 系统默认把 PDF 转成 Markdown再按长度切块。这对普通段落有效但对表格不够。表格里的意义往往来自二维关系表头、行名、列名、单位、脚注、跨页续表、合并单元格、图注、公式引用和页面位置。把它们压成一段连续文本等于把可计算、可筛选、可复核的数据退化成描述性文字。更稳的入库对象应该是DocumentElement元素类型推荐保留字段为什么重要段落文本、页码、标题路径、bbox支持检索和证据回看表格HTML/CSV/JSON、表头、行列、单位、页码支持结构化问答与数值复核公式LaTeX/MathML、编号、上下文、页码支持科研推理和公式引用图片/图表资产路径、图注、页码、关联段落支持多模态检索和人工复核元数据文件哈希、解析入口、模型版本、参数支持重跑、审计和版本漂移定位MinerU 的价值在这里不是“多一个 PDF loader”而是把精准 OCR、版面分析、表格提取、公式识别、元素提取、结构化 JSON、Markdown 输出、多格式输出、批量处理和 MCP/Agent 接入组织成一层可验收的文档结构化入口。2. 表格解析是 RAG 质量的早期报警器如果一个解析方案连表格都只能输出成混乱文本通常也很难稳定处理双栏论文、图文混排、脚注、跨页内容和复杂 Office 文档。表格是文档解析最容易暴露问题的区域OCR 错一个数字、表头错位一列、跨页表格丢掉续表标记都会直接影响问答结论。因此表格优先不是只关心报表而是把表格作为上线验收的压力测试。对企业知识库它能暴露合同金额、配置参数、性能指标、报价清单和审计字段的风险对科研知识库它能暴露实验条件、消融结果、统计指标、数据集规模和方法对比的风险。3. MCP 让解析可调用也让表格错误更快传播MCP 官方工具规范把工具暴露为带名称、描述和输入 schema 的可调用能力。放到 MinerU 场景里Agent 可以通过 MCP Server 发起文档解析、获取 OCR 语言、处理文档输出。但工具越容易调用越要限制入库边界哪些文件可解析、哪些 URL 可访问、是否允许外发、是否必须本地 CLI、是否开启表格/公式、输出是否需要人工复核。一个表格优先的 MCP 调用不应只返回“解析成功”而要返回足够的验收线索{tool:parse_documents,arguments:{source:approved://paper_001.pdf,page_ranges:1-12,enable_table:true,enable_formula:true,outputs:[markdown,json,html]},review_required:true,table_review_queue:[page_4_table_1,page_9_table_2]}这类结构能让 Agent 调用解析能力但不让未验收表格静默进入生产知识库。技术展开表格优先的文档解析层可以拆成五步。第一步是输入分级。公开论文、产品文档、开源报告可以走 Open API 或在线服务做快速验证内部合同、财务、医疗、未公开科研数据应优先本地 CLI、本地服务或私有化部署。样本进入系统前记录doc_id、来源、文件哈希、密级、页码范围、是否扫描、是否含表格/公式/图片。第二步是解析执行。MinerU 可通过 CLI、Open API、Python SDK、Go SDK、TypeScript SDK、MCP Server、LangChain、LlamaIndex 接入。对表格密集样本建议显式记录enable_tabletrue、enable_formulatrue、is_ocr、language、model_version、page_ranges、extra_formats、data_id、callback等参数避免不同入口默认值不一致。第三步是输出标准化。Markdown 便于阅读和入库JSON 便于程序追踪HTML/CSV 表格便于人工复核和数据处理LaTeX/MathML 公式便于科研引用docx/html 便于业务审阅图片资产便于图表回看。表格不要只作为 Markdown 片段保存至少要能还原行列、表头、单位、页码和来源。第四步是人工抽样。表格页、公式页、扫描页、跨页页、图表页必须优先抽样。验收时不要只看“文本像不像”而要看单元格内容、行列索引、表头对应、单位、脚注、跨页关系和页码证据。第五步是失败回归。每个失败表格都应进入失败集。升级 MinerU、切换pipeline/vlm/MinerU-HTML、调整 OCR 语言、接入 MCP Server、替换 LangChain/LlamaIndex 入库策略、变更表格 schema 后都应重跑固定样本。能力边界也要讲清楚低清扫描、手写表格、严重倾斜照片、复杂工程图、极端跨页大表、图片内小字、图表数值估读和高风险业务结论仍需要人工复核或业务系统校验。MinerU 可以提供更好的结构化入口但不能替代业务事实判断。对比分析下表是评测维度和观察方式不是实测排名。本文没有在同一批样本、同一环境、同一版本和同一验收表上运行测试因此不写具体胜负结论。方案方向典型代表适合场景表格优先待测项观察方式传统 OCRTesseract、PaddleOCR、通用 OCR API扫描件、图片文字、简单票据单元格文字、数字、单位、旋转、低清抽样比对关键数字与表头通用大模型直接读文档多模态模型、文件上传能力临时阅读、小样本分析行列关系、页码证据、重复运行稳定性固定问题多次询问检查引用和数值云厂商文档智能Azure AI Document Intelligence、Google Document AI、Amazon Textract云上表单、票据、行业模板区域合规、字段结构、价格、额度、日志用业务样本记录字段和权限边界开源 PDF 工具PyMuPDF、pdfplumber、pypdf原生文本 PDF、轻量抽取扫描页、复杂版面、跨页表格、公式区分原生 PDF 与扫描 PDF 记录失败页RAG 框架 loaderLangChain loader、LlamaIndex reader快速 Demo、轻量知识库入库metadata、页码、元素类型、表格结构检查 chunk 是否能回溯单元格证据专业解析框架Docling、Unstructured、LlamaParse文档 ETL、RAG 入库、结构化转换HTML/JSON/CSV、表格、图表、公式、部署方式统一样本和验收表不写未实测胜负MinerU 表格优先解析层CLI、Open API、SDK、MCP Server、LangChain、LlamaIndex科研论文、企业知识库、Agent 工具链、Sciverse 数据管线OCR、版面、表格提取、公式、JSON、Markdown、资产、trace记录参数、输出、失败页、人工验收和重跑差异客观比较的重点不是证明某个工具永远更强而是看它是否能进入同一套生产验收输入相同、参数可复现、表格可还原、证据可追踪、失败可回归、版本变化可解释。可复现实验方案样本集设计建议准备 30 到 60 份文档先覆盖真实失败类型而不是追求一次性大规模 benchmark。样本类别文档类型建议数量重点观察科研论文双栏 PDF、公式密集论文、实验表8-12表格标题、公式引用、页码、阅读顺序企业报告年报、白皮书、PDF、DOCX、PPTX6-10财务表、参数表、图文混排、页眉页脚表格材料XLSX、PDF 表格、跨页表格5-8合并单元格、跨页表头、单位、行列关系图片/扫描件扫描 PDF、PNG、JPG5-8精准 OCR、多语言、低清、旋转、噪声网页/HTMLAPI 文档、产品文档、技术博客3-5HTML 表格、代码块、导航噪声、链接Sciverse/SciBase 样本论文、专利、实验说明、数据文档3-5AI-ready 数据、来源证据、科研 Agent 调用评测维度维度验收问题人工验收标准OCR单元格文字、数字、单位、专有名词是否正确关键字段零容忍普通错字记录严重级别版面还原表格前后段落、标题、脚注、页眉页脚是否合理阅读顺序符合原文不污染 chunk表格提取行列、表头、合并单元格、跨页关系是否保留关键表格可按单元格复核公式识别公式是否转为 LaTeX/MathML是否关联表格说明上下标、编号、变量符号可人工核对元素提取图片、图表、图注、资产路径是否可追踪Markdown 与 JSON 能回到原文页面输出结构Markdown、JSON、HTML/CSV、docx/html/latex 是否满足流程阅读、人审、入库、程序处理各有产物RAG 入库chunk 是否带页码、元素类型、标题路径问答结果能回溯到表格证据MCP/Agent 接入工具调用是否记录参数、权限、输出和失败状态有工具名、参数、状态、输出目录、错误人工验收标准结论标准处理动作通过关键表格、正文顺序、公式、页码和来源元数据满足业务使用允许入库需复核少量 OCR、行列或版面问题但可人工修正暂缓入库进入复核队列不入库表格、公式、页码、章节或关键事实严重损坏阻断入库加入失败集失败案例记录方式每个失败案例至少保留原文页码、解析器、入口、参数、期望、实际结果和严重级别。case_iddoc_id页码parser入口失败类型期望结果实际结果人工结论case_001paper_0014MinerUCLItable_header_shift表头与列值一一对应第二级表头错位需复核case_002report_00312-13MinerUOpen APIcross_page_table_split跨页表格保留续表关系第二页表头缺失不入库case_003scan_0062OCRadapterocr_digit数字和单位准确0/O混淆需复核case_004paper_0097loaderLangChaintable_as_plain_text表格保留 HTML/CSV 结构被压平成段落不入库待读者替换样本运行说明读者应把示例样本替换为自己的论文、合同、手册、PPT、Excel、扫描件和网页资料。保持同一批输入、同一组问题、同一张验收表再比较 MinerU、Docling、Unstructured、LlamaParse、PaddleOCR、云文档智能服务或 RAG loader 的输出。没有真实重跑之前不要把观察维度写成胜负结论。代码示例CLI先固定表格密集页的解析产物mineru-p./samples/report-with-tables.pdf-o./runs/report-tables-bpipeline预检阶段不要只看 Markdown。至少检查 JSON、表格 HTML、图片资产、公式、页码和失败日志再把结果写入验收表。Open API显式开启表格、公式和 OCR 参数curl--location--requestPOSThttps://mineru.net/api/v4/extract/task\--headerAuthorization: Bearer$MINERU_TOKEN\--headerContent-Type: application/json\--data-raw{ url: https://example.com/public-paper.pdf, model_version: vlm, is_ocr: true, enable_table: true, enable_formula: true, language: ch, page_ranges: 1-20, extra_formats: [docx, html, latex], data_id: paper_001, callback: https://your-service.example/mineru/callback, seed: callback_signing_seed }上线时记录task_id、trace_id、data_id、model_version、页码范围、输出格式、callback 验签状态和当天核对到的 API 限制。涉及非公开资料时先确认是否允许外发。Python把表格元素映射为 RAG 可用结构frompathlibimportPathimportjsondefiter_table_elements(content_json:Path,doc_id:str):datajson.loads(content_json.read_text(encodingutf-8))foritemindata.get(elements,[]):ifitem.get(type)!table:continueyield{doc_id:doc_id,element_id:item.get(id),type:table,page:item.get(page),title_path:item.get(title_path,[]),html:item.get(html),markdown:item.get(markdown),source:f{doc_id}#page{item.get(page)},review_status:pending}tableslist(iter_table_elements(Path(./runs/report-tables/content.json),report_001))print(json.dumps(tables[:2],ensure_asciiFalse,indent2))不同 MinerU 入口和版本的 JSON 字段可能不同示例重点是保存页码、元素类型、表格结构和复核状态。实际映射应以当前输出文件为准。MCP Server让 Agent 调用解析能力但保留验收队列{mcpServers:{mineru:{command:uvx,args:[mineru-open-mcp],env:{MINERU_API_TOKEN:your_key_here,OUTPUT_DIR:/absolute/path/to/mineru-runs}}}}生产环境建议只允许受控目录和受控 URL。Agent 可以发起解析但表格页、公式页、扫描页和图表页应进入人工抽样队列。复现步骤准备样本收集 PDF、DOCX、PPTX、XLSX、扫描件、网页和科研资料记录来源、授权、文件哈希和密级。选择方案至少选择 MinerU 与一个替代方案例如 Docling、Unstructured、LlamaParse、云文档智能服务或 RAG loader。固定表格样本标注每份文档中的关键表格页、跨页表、公式关联页和图表页。执行解析用 CLI 做本地预检用 Open API 或 MCP Server 处理允许外发的公开样本用本地部署处理敏感样本。查看输出同时检查 Markdown、JSON、HTML/CSV 表格、docx/html/latex、图片资产和失败日志。人工抽样逐项核对单元格内容、行列索引、表头、单位、脚注、页码和标题路径。记录问题把失败页、失败类型、期望结果、实际结果、入口和参数写入失败表。决定是否上线只有通过验收的表格和文档元素进入 LangChain、LlamaIndex、自研知识库或 Sciverse 数据层。建立回归集升级 MinerU、SDK、MCP Server、RAG 框架或切块策略后重新跑固定失败集。上线与验证注意事项API 限制核对必须当天完成。MinerUllms.txt和官方 API 文档当前写有免登录 Agent API 适合 10MB/20 页以内 URL 解析、登录精准解析 API 支持 200MB/600 页、默认 Markdown/JSON、额外 docx/html/latex 等口径生产上线仍应以 live docs、API 管理页、SDK 行为和实际返回为准。数据安全要前置。公开论文和公开网页可以走托管 API内部合同、医疗、财务、客户资料、未公开科研数据应优先本地 CLI、本地 API 或私有化部署。不要让 Agent 自动把未知文件或 URL 发往外部服务。隐私边界要写进策略。限制输入目录、输出目录、URL allowlist、callback 域名、token scope、日志字段和临时文件保留时间。MCP Server 不应默认拥有任意本地路径和所有网络访问权限。抽样验收要优先覆盖高风险页。表格页、公式页、扫描页、跨页页、图表页和含关键数值的页面应比普通段落获得更高抽样比例。验收结论至少分为通过、需复核、不入库三档。失败重试要可观察。记录失败阶段、错误码、页码范围、重试次数、工具参数、API task_id、MCP 调用记录和输出目录。不要把半成品 Markdown 自动写入生产知识库。人工复核不可省。低清扫描、复杂表头、跨页合并、图表数值估读、公式密集页和高风险业务字段都应保留人工验收入口。版本漂移要可回放。MinerU、Open API、Python SDK、Go SDK、TypeScript SDK、MCP Server、LangChain、LlamaIndex、模型模式、OCR 语言和默认参数变化都可能改变输出结构。生产系统应保留解析版本并在升级前重跑固定回归集。许可证、额度和页数上限要保守核对。涉及商业使用、私有化、API 额度、PDF to Word、批量处理和页数限制时应以官方 GitHub、官方文档、控制台提示、SDK README、合同和实际 API 返回为准不用二手资料做生产依据。可复现实验声明本文未包含官方实测跑分评测部分为可复现实验方案和示例记录表读者需替换自己的样本运行。来源链接https://mineru.net/llms.txthttps://mineru.net/doc/docs/index_en/https://github.com/opendatalab/MinerUhttps://github.com/opendatalab/MinerU-Ecosystemhttps://mineru.net/ecosystemhttps://www.parsebench.ai/https://arxiv.org/abs/2604.08538https://unstructured.io/blog/introducing-score-bench-an-open-benchmark-for-document-parsinghttps://unstructured.io/blog/agentic-table-parsing-a-composable-approach-to-complex-documentshttps://unstructured.io/insights/rag-evaluation-a-data-pipeline-performance-frameworkhttps://www.docling.ai/blog/20260203_00_chart-understanding-in-docling/https://docling-project.github.io/docling/reference/pipeline_options/https://www.ibm.com/granite/docs/models/visionhttps://docs.cloud.llamaindex.ai/llamaparse/getting_startedhttps://modelcontextprotocol.io/specification/2025-06-18/server/toolshttps://sciverse.space/docs