[Bug]: After receiving mineru, the error “FAILED TO PARSE TABLE” occurred during the parsing process.

该报错通常出现在 RAGFlow 接入 MinerU 解析含表格的 PDF 时,MinerU 已识别出表格区域但表格内容抽取结果为空,RAGFlow 因此写入占位文本。优先排查 MinerU 的表格抽取结果与解析方法配置,而不是 RAGFlow 本身。

快速结论:该报错通常出现在 RAGFlow 接入 MinerU 解析含表格的 PDF 时,MinerU 已识别出表格区域但表格内容抽取结果为空,RAGFlow 因此写入占位文本。优先排查 MinerU 的表格抽取结果与解析方法配置,而不是 RAGFlow 本身。

适用环境:RAGFlow 镜像版本 v0.25.6;Issue 正文未提供操作系统、Python、CUDA、显卡等环境信息,仅提及自建 MinerU API 服务地址 http://101.36.73.92:8091。

最快修复方案:暂无确认的一步修复方案。可优先尝试将 mineru_parse_method 切换为 "ocr",或改用 "Plain Text" / Naive 解析器绕过版面分析,这些均为 Issue 中给出的可尝试思路而非已验证结论。

注意事项:上述方法属于规避手段,若 MinerU 侧表格模型对同一 PDF 仍返回空字段,占位文本可能依旧出现;同时需确认 MinerU API 服务版本与 RAGFlow 兼容,否则切换解析方式未必生效。

问题场景

用户在 RAGFlow v0.25.6 中接入 MinerU 作为文档解析后端,解析包含跨页密集表格的 PDF 文件时触发该问题。日志显示 MinerU 的版面检测已正确识别出表格区域(解析到 8 个 block),但进入 RAGFlow 的表格内容转换阶段后,解析结果中出现 “FAILED TO PARSE TABLE”。Issue 中同时提到该现象与 #16060 中 MinerU 对表格内容返回空数组的情况相关。

报错原文

[Bug]: After receiving mineru, the error "FAILED TO PARSE TABLE" occurred during the parsing process.

case MinerUContentType.TABLE:
    section = output.get("table_body", "") + "\n".join(output.get("table_caption", [])) + "\n".join(
        output.get("table_footnote", []))
    if not section.strip():
        section = "FAILED TO PARSE TABLE"

原因分析

“FAILED TO PARSE TABLE” 并不是 MinerU 直接抛出的异常,而是 RAGFlow 在 deepdoc/parser/mineru_parser.py 的 _transfer_to_sections() 方法中生成的兜底占位文本。当 MinerU 返回的表格块里 table_body、table_caption、table_footnote 三个字段拼接后为空字符串时,RAGFlow 会用该占位文本填充 section。

可能原因:MinerU 的版面检测能定位表格区域,但其表格内容抽取模型对某些 PDF(尤其是跨页、密集的财务类表格)返回了空的表格字段。这属于 MinerU 侧的抽取问题,而非 RAGFlow 的表格渲染逻辑错误。

环境排查

  • 确认 RAGFlow 镜像版本为 v0.25.6,Issue 中未提供 commit ID。
  • 确认 MinerU API 服务地址可访问(Issue 中为 http://101.36.73.92:8091)。
  • 确认 MinerU 服务运行的版本,Issue 提到近期 RAGFlow 已改进对 MinerU 3.x 的兼容(PR #14282),版本不匹配可能导致返回字段缺失。
  • 确认触发问题的 PDF 是否为跨页密集表格,可先单独检查该文件的表格结构。
  • Issue 未提供操作系统、Python、CUDA、显卡信息,无需据此补写。

解决步骤

  1. 先定位失败样本:确认触发报错的具体 PDF,以及日志中对应的是哪些表格块,判断是否集中在跨页表格上。
  2. 将 mineru_parse_method 从默认的 "auto" 切换为 "ocr",重新解析该 PDF,观察表格内容是否被正常填入(可优先尝试)。
  3. 若仍失败,将 layout_recognize 改为 "Plain Text",或直接改用 Naive 解析器绕过版面分析,验证简单表格结构能否被正常提取(可优先尝试)。
  4. 对 PDF 做预处理:把跨页表格拆分为单页 PDF,或转换为非可编辑格式后再上传,减少 MinerU 跨页表格抽取的失败概率。
  5. 检查并升级 MinerU 服务版本,确保与 RAGFlow v0.25.6 的兼容性符合 PR #14282 中的改进范围。

验证方法

用同一份之前失败的 PDF 重新执行解析,检查日志与解析结果中不再出现 “FAILED TO PARSE TABLE”,且对应表格块能输出实际表格内容;若更换解析方式后仍出现该占位文本,说明问题仍在 MinerU 抽取侧,需继续排查 MinerU 版本或对 PDF 做预处理。

参考来源

infiniflow/ragflow #16114

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29187

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注