Cannot create agent,composer error

“Cannot create agent,composer error”通常出现在 Dify 1.6.1 自托管环境中,当 Agent 的知识库配置里带有“元数据过滤(metadata_filtering)”条件时,前端会向后端多传 id 和 metadata_id 字段,而后端 Pydantic

快速结论:“Cannot create agent,composer error”通常出现在 Dify 1.6.1 自托管环境中,当 Agent 的知识库配置里带有“元数据过滤(metadata_filtering)”条件时,前端会向后端多传 idmetadata_id 字段,而后端 Pydantic 校验拒绝这些额外字段,导致发布/更新 Agent 失败。优先排查 Dify 版本是否为 1.6.1 或更早,并升级到包含修复的后续版本。

适用环境:Dify 1.6.1;Self Hosted(Docker);Agent 使用了工具、技能和知识库,且知识库中配置了元数据过滤条件。

最快修复方案:升级 Dify 到包含 PR #38446 修复的后续版本(即 1.6.1 之后的版本)。如果暂时无法升级,可先移除 Agent 知识库配置中的元数据过滤条件,保存/发布后再重新添加,但此方式在 Issue 中属于临时建议,并不是官方确认的一步修复方案。

注意事项:升级是 Issue 评论明确推荐的方式;移除并重加元数据过滤条件只能作为临时规避手段,Issue 中未完整验证其长期稳定性,也不建议通过修改后端 Pydantic 模型来绕过校验。该问题与 Nginx 反向代理无关。

问题场景

用户在使用 Dify 1.6.1 自托管环境创建 Agent 时,Agent 配置了工具、技能和知识库。在点击发布或更新时,界面提示 “Cannot create agent,composer error”,接口返回 400 错误,错误中出现了 ComposerSavePayload 的校验失败信息。

报错原文

Cannot create agent,composer error

{
    "code": "invalid_param",
    "message": "2 validation errors for ComposerSavePayload\nagent_soul.knowledge.sets.1.metadata_filtering.conditions.conditions.0.id\n  Extra inputs are not permitted [type=extra_forbidden, input_value='b149eceb-191a-40a2-9f11-61cf21ebd147', input_type=str]\n    For further information visit https://errors.pydantic.dev/2.12/v/extra_forbidden\nagent_soul.knowledge.sets.1.metadata_filtering.conditions.conditions.0.metadata_id\n  Extra inputs are not permitted [type=extra_forbidden, input_value='ad6cf326-eadf-46e8-a2d5-9cb892d2cc84', input_type=str]\n    For further information visit https://errors.pydantic.dev/2.12/v/extra_forbidden",
    "status": 400
}

原因分析

这是 Dify 1.6.1 中已确认的 bug。根因是后端 Pydantic

参考来源

langgenius/dify #40169

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18301

发表回复

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