[Bug]: Failed to add MinerU

这个报错通常发生在 RAGFlow 中新增或保存 MinerU 模型实例、并点击验证或保存时,前端把 MinerU 的 api_key 作为 JSON 对象提交,而后端 Go 层按字符串绑定,导致类型不匹配而失败。优先排查前端提交的 MinerU 实例 payload 结构。

快速结论:这个报错通常发生在 RAGFlow 中新增或保存 MinerU 模型实例、并点击验证或保存时,前端把 MinerU 的 api_key 作为 JSON 对象提交,而后端 Go 层按字符串绑定,导致类型不匹配而失败。优先排查前端提交的 MinerU 实例 payload 结构。

适用环境:RAGFlow v1.0.0-rc1-305-gae1d8fb1e(workspace code commit ID 与 image version 均为该版本);部署 MinerU 时使用 Python 3.12 虚拟环境,并安装 mineru>=4.0,<5,以 mineru-kit api-server 方式启动标准档服务。Issue 未提供操作系统、CUDA、显卡型号或 PyTorch 版本信息。

最快修复方案:Issue 中提到的修复来自 PR #20887,包括在前端将 MinerU 的 api_key 字符串化,并在 create / update / verify 接口中同时接受对象或字符串形式的 api_key,以兼容现有 UI。该 PR 为 Issue 评论中给出的修复方向,可优先尝试升级或应用包含该修复的版本。

注意事项:Issue 评论明确说明,仅回滚 PR #20712 并不能修复此问题,因为根因不在 MinerU 4.0 V1 支持本身,而在 MinerU 实例 payload 的 api_key 类型绑定。修复前需确认前端与后端版本一致,避免只更新一端导致验证或保存仍然失败。

问题场景

在 RAGFlow 中新增 MinerU 作为模型实例时,用户执行验证和保存操作。MinerU 侧通过 Python 3.12 虚拟环境部署,安装 mineru>=4.0,<5,并以 mineru-kit api-server 启动服务。在 RAGFlow 的模型实例配置界面点击验证或保存时,先出现 verify failed,随后保存 MinerU 失败。

报错原文

[Bug]: Failed to add MinerU

{
    "code": 400,
    "message": "Mismatch type string with value object \"at index 33: mismatched type with value\\n\\n\\t\\\"ddd\\\",\\\"api_key\\\":{\\\"mineru_apiserv\\n\\t................^...............\\n\""
}

原因分析

根据 Issue 评论中的定位,根因是 MinerU 实例的 payload 结构问题,而非 MinerU 4.0 V1 支持本身。前端 UI 将 api_key 提交为 JSON 对象,类似 {"mineru_apiserver":...,"mineru_backend":...};而当前 Go 后端将 api_key 绑定为字符串,Sonic 在解析时因类型不匹配而失败。报错中的 Mismatch type string with value object 与此对应。Issue 评论同时指出,回滚 PR #20712 不会改变这一绑定逻辑,因此无法解决该问题。

环境排查

  • 确认 RAGFlow 的 workspace code commit ID 与 image version;Issue 中为 v1.0.0-rc1-305-gae1d8fb1e。
  • 确认 MinerU 部署方式:Python 3.12 虚拟环境,安装 mineru>=4.0,<5,通过 mineru-kit api-server 启动。
  • 确认 RAGFlow 前端提交的 MinerU 实例中 api_key 字段的实际类型是字符串还是对象。
  • 确认后端 create / update / verify 接口对 api_key 的绑定类型是否已支持对象或字符串。
  • Issue 未提供操作系统、CUDA、PyTorch、显卡型号或驱动版本,无需在这些方向推测。

解决步骤

  1. 先确认当前 RAGFlow 版本是否存在该类型绑定问题,记录前端请求中 api_key 的提交形式。
  2. 参考 Issue 评论中给出的修复 PR #20887:在前端将 MinerU 的 api_key 字符串化后再提交。
  3. 在 create / update / verify 接口中,让后端同时接受对象或字符串形式的 api_key,以兼容尚未更新的现有 UI。
  4. 不要仅回滚 PR #20712;Issue 评论已明确该操作无法修复此问题,MinerU 4.0 /v1 支持可以保留。
  5. 更新或应用包含 PR #20887 的版本后,重新在 RAGFlow 中添加 MinerU 实例并执行验证与保存。

验证方法

重新在 RAGFlow 中填写 MinerU 实例信息,点击验证,确认不再出现 verify failed;随后点击保存,确认不再返回 Mismatch type string with value object 的 400 错误,且 MinerU 实例能够成功保存。

参考来源

infiniflow/ragflow #20881

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29314

发表回复

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