AttributeError: module ‘agent.tools’ has no attribute ‘GenerateParam’

该报错通常出现在 RAGFlow 的 Code(代码)组件调度执行时,原因是 RAGFlow 后端在 v0.20.0 起重构后已移除 `agent.tools.GenerateParam` 及相关的代码执行/生成能力。优先排查你使用的 RAGFlow 版本是否为 v0.20.0 或更高,并避免在工作

快速结论:该报错通常出现在 RAGFlow 的 Code(代码)组件调度执行时,原因是 RAGFlow 后端在 v0.20.0 起重构后已移除 `agent.tools.GenerateParam` 及相关的代码执行/生成能力。优先排查你使用的 RAGFlow 版本是否为 v0.20.0 或更高,并避免在工作流中引用 Code 组件或 `GenerateParam`。

适用环境:RAGFlow v0.20.0(Issue 中明确提及)。其他工具、操作系统、Python、CUDA、显卡版本在 Issue 讨论中未提及,不做补充。

最快修复方案:暂无确认的一步修复方案。当前版本后端不支持 Code 组件,官方尚未提供迁移指南或弃用说明。可优先尝试移除工作流中所有 Code 组件及相关 `GenerateParam` 引用,改用其他受支持的组件替代。

注意事项:Code 组件目前仍会显示在 UI 和文档中,但后端已不支持,这属于已知的“界面与功能不一致”问题。未来对代码执行的支持取决于尚未可用的沙箱方案,当前没有官方时间表或替代方案。

问题场景

用户在 RAGFlow 中编排并调度一个 Code 组件(代码组件)时,任务执行失败并抛出属性错误。该错误是由于代码或配置中引用了 `agent.tools.GenerateParam`,而该属性在当前版本中已不存在。

报错原文

AttributeError: module 'agent.tools' has no attribute 'GenerateParam'

原因分析

可能原因:RAGFlow 在 v0.20.0 中进行了大规模重构,移除了多个 agent 组件,包括与代码执行和生成相关的模块。因此,任何在代码或配置中引用 `agent.tools.GenerateParam` 的地方都会导致上述属性错误。需要说明的是,该问题并非由于环境配置错误或 Python 依赖缺失导致,而是产品功能层面的移除。

环境排查

  • 确认 RAGFlow 版本:如果版本为 v0.20.0 或更高,Code 组件后端已不支持。
  • 检查工作流(Workflow)中的节点:确认是否存在 Code 组件节点引用了 `GenerateParam`。
  • 检查自定义代码或脚本:确认是否有直接导入或调用 `agent.tools.GenerateParam` 的代码。

解决步骤

  1. 定位并记录所有使用了 Code 组件的流程,以及所有引用了 `agent.tools.GenerateParam` 的代码片段。
  2. 打开工作流编辑界面,移除或禁用所有 Code 组件节点(可优先尝试)。
  3. 对于自定义脚本或代码,删除或注释掉所有对 `GenerateParam` 的引用。
  4. 评估 Code 组件的替代方案:如果需要动态计算或生成参数,可考虑使用其他内置组件(如 Python 脚本组件如有可用替代),或通过外部服务处理后再接入 RAGFlow。
  5. 如果必须使用代码生成能力,建议持续关注 RAGFlow 官方 Release Notes 和 Issue 跟踪页面,等待沙箱方案的正式发布,或暂时回退到旧版本(需自行评估旧版本的稳定性和安全性,此步骤未被 Issue 验证)。

验证方法

重新调度之前失败的流程,确认任务能够正常执行,不再出现 AttributeError: module 'agent.tools' has no attribute 'GenerateParam' 错误。同时,检查日志中是否还有其他与代码执行相关的异常信息。

参考来源

infiniflow/ragflow #9352

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18789

发表回复

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