Gemini 模型插件报错:PluginInvokeError

已经升级到最新版本的插件了,并且重开一个项目新建一个工作流也是一样的结果。切换成其他模型就没有问题。

从弹框来看,你的上下文,没有选择已有的“变量值”

1)我没有开启上下文功能
2)就算开启了也一样报错
3)这个问题不是上下文的问题,换其他模型就不会报错

@penny 请添加一条用户消息。

@Dify_Forum_Helper 帮助

你好!@lysonober 指出的解决方案是完全正确的。

这个问题确实与 Gemini 模型的 API 限制有关,这也是为什么你切换到其他模型(如 GPT 系列)可能不会报错的原因。

原因解释

报错信息 ValueError: contents are required 是 Google Gemini API 直接返回的错误。

  • Gemini API 的机制:它强制要求请求体中必须包含 contents(即具体的对话消息列表)。
  • Dify 的机制:在 Dify 的 LLM 节点中,如果你只配置了 SYSTEM(系统提示词),而没有配置 USER(用户消息),或者 USER 消息的内容为空,Dify 发送给 Gemini 的请求中就会缺少 contents 部分。
  • 区别:其他模型(如 OpenAI)可能允许仅发送 System Prompt 或对空消息有不同的处理逻辑,但 Gemini 对此要求非常严格,必须至少包含一条非空的用户消息。

解决方法

请按照 @lysonober 截图中的指示操作:

  1. 在报错的 LLM 节点中,点击底部的 “+ Add Message” (添加消息) 按钮。
  2. 将消息类型设置为 USER
  3. 在内容框中填入变量(例如从“开始”节点传来的 {{input}} 变量)。

只要确保发送给 Gemini 的消息中包含 User 部分的内容,这个报错就会消失。

1 个赞

万分感谢!

居然还有 Dify_Forum_Helper,太适合技术型社区了

1 个赞