Figure description language not propagated to PDF/DOCX(book,manual)/XLSX vision wrappers

该问题出现在 RAGFlow 的图表描述功能中,当数据集语言设置为非英语(如中文)时,PDF、DOCX(book/manual)、XLSX 文档的图表描述仍以英文生成。优先检查是否运行了 RAGFlow v0.17.0 或更高版本,以确认是否已包含 lang 参数传递的修复。

快速结论:该问题出现在 RAGFlow 的图表描述功能中,当数据集语言设置为非英语(如中文)时,PDF、DOCX(book/manual)、XLSX 文档的图表描述仍以英文生成。优先检查是否运行了 RAGFlow v0.17.0 或更高版本,以确认是否已包含 lang 参数传递的修复。

适用环境:RAGFlow 文档解析管线(涉及 deepdoc/parser/figure_parser.py 中的 figure vision wrappers,以及 rag/app/ 下的调用模块),未提供具体的操作系统、Python 或 CUDA 版本信息。

最快修复方案:升级 RAGFlow 至包含 PR #17227 修复的版本(该 PR 已为所有 figure wrappers 加上 lang= 传播)。

注意事项:该修复是代码改动,无法通过配置或环境变量绕开;需确认部署的 RAGFlow 版本已合入对应修复。

问题场景

用户在 RAGFlow 中上传 PDF、DOCX(book/manual 模式)或 XLSX 文件,并设置了数据集语言为非英语(如中文)。文档解析后,单独使用 naive DOCX 流程的图表描述语言能正确显示中文,但经 rag/app/naive.py(PDF 走 by_deepdoc)、rag/app/book.pyrag/app/manual.pyrag/app/paper.pyrag/app/table.py 处理的文档,生成的图表描述始终为英文。

报错原文

Figure description language not propagated to PDF/DOCX(book,manual)/XLSX vision wrappers

原因分析

根本原因是 RAGFlow 的 figure parser 在接收语言参数时存在缺陷:每个 chunk() 函数都将 lang="Chinese" 声明为具名参数,因此 lang 会被截获,不会进入 **kwargs。而 deepdoc/parser/figure_parser.py 中的三个 wrapper(vision_figure_parser_docx_wrappervision_figure_parser_figure_xlsx_wrappervision_figure_parser_pdf_wrapper)只接收 **kwargs,从未获得 lang,导致 VisionFigureParser.self.language 始终回退为 "English"

同时需注意,给 LLMBundle(lang=) 传参并不会影响图表输出语言,因为 describe_with_prompt()rag/llm/cv_model.py)并不读取 self.lang,语言实际由 prompt 中的 {{ language }} 变量控制。

环境排查

  • 确认 RAGFlow 版本是否包含 PR #17227 的代码改动(检查 deepdoc/parser/figure_parser.py 中的 wrapper 是否带 lang 参数)。
  • 检查 rag/app/book.pyrag/app/manual.pyrag/app/table.pyrag/app/naive.pyrag/app/paper.py 调用 figure wrapper 时是否传入 lang=lang

解决步骤

  1. 升级 RAGFlow 至包含 PR #17227 修复的版本(该 PR 覆盖了全部 4 个 figure vision wrappers,并为每个 wrapper 增加 lang 参数,同时转发给 LLMBundleVisionFigureParser)。
  2. 若无法立即升级且需要临时修复,可检查在 rag/app/table.pyExcel.__call__ 路径中,是否已将 lang 转发至 Excel parser(table.py:408 附近)。
  3. 升级后,可通过 test/unit_test/deepdoc/parser/test_figure_parser.py 中的 15 个回归测试(覆盖 prompt 渲染器、VisionFigureParser 存储、4 个 wrapper 及端到端 __call__ worker 路径)来确认修复完整性。

验证方法

升级后重新解析同一份非英语数据集中的 PDF、DOCX(book/manual)和 XLSX 文件,检查生成的图表描述文本是否已切换为数据集设定的语言(如中文),而非始终为英文。

参考来源

infiniflow/ragflow #17280

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 22238

发表回复

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