快速结论:该报错发生在 Open WebUI 通过 Google 的 OpenAI 兼容端点(https://generativelanguage.googleapis.com/v1beta/openai)启用原生工具调用时,模型主动调用工具(如内置 memory 工具的 list_memories)后,工具调用被静默丢弃或缺少 thought_signature,最终表现为“消息内容为空、日志无任何输出”:issue: Tool calls silently dropped and thought_signature lost with Google's OpenAI-compatible endpoint。优先排查是否使用了 Google 的 OpenAI 兼容端点,并确认工具调用依赖的字段是否符合 OpenAI streaming 规范。
适用环境:Open WebUI(dev 版,Git Clone 安装),操作系统无特定限制;模型为 Gemini 系列(Issue 中示例为 models/gemini-3.6-flash);启用 builtin tools + memory,function_calling 保持 “native”。Issue 未提及其他 Python/CUDA/显卡信息。
最快修复方案:暂无确认的一步修复方案。Issue 最终以“Google 的 OpenAI 兼容端点并不是真正的 OpenAI 端点”为由关闭(won’t fix),Open WebUI 不会为不兼容实现绕开 OpenAI schema。
注意事项:这意味着通过该端点使用原生工具调用本身就不可靠;即使工具结果能显示,也可能因为 thought_signature 缺失导致模型无法生成最终答案。此方案未修复、未验证,不建议在生产环境依赖该端点做工具调用。
问题场景
在 Open WebUI 中添加 OpenAI 兼容连接,Base URL 设置为 https://generativelanguage.googleapis.com/v1beta/openai,填入 Gemini API Key,启用类似 models/gemini-3.6-flash 的模型。然后在模型能力中开启内置工具和 memory,保持 function_calling 为 “native”(默认值)。在新对话中发送 “Oi” 并重复几次,模型自主调用 list_memories 时触发:返回的 assistant 消息为空,日志不报错,但提供商侧显示消耗了 output tokens。
报错原文
HTTP 400 INVALID_ARGUMENT - Function call is missing a thought_signature in functionCall parts. This is required for tools to work correctly. Additional data, function call `default_api:list_memories`, position 2.
同时伴随的静默现象为:assistant message content ''、output: [],且没有任何日志输出。
原因分析
可能原因是 Google 的 OpenAI 兼容端点并未完全遵循 OpenAI 流式规范,导致 Open WebUI 的两个处理环节出错:
- 流式累积循环读取
delta_tool_call.get('index'),并在if tool_call_index is not None:内做全部组装,没有 else 分支。Google 把完整工具调用放在一个 chunk 中且省略了index,OpenAI 流式规范要求始终包含该字段,于是工具调用被直接丢弃且无日志。 - Gemini 3 的
thought_signature通过extra_content随工具调用返回,Open WebUI 在三次重建工具调用字段时未回传该值,导致后续请求返回 HTTP 400。此时工具可能已执行并显示结果,但模型无法产出最终答案,消息仍为空。
维护者最终判定这不是 Open WebUI 的 bug,而是 Google 的 “OpenAI 兼容” 端点与 OpenAI schema 不兼容,因此不修复。
环境排查
- 确认 Open WebUI 版本(Issue 中为 dev 分支最新版)。
- 确认连接配置:Base URL 是否为
https://generativelanguage.googleapis.com/v1beta/openai,API Key 是否有效。 - 确认使用的模型名称,如
models/gemini-3.6-flash。 - 确认模型能力中是否启用了 builtin tools 与 memory,且 function_calling 是否为 “native”。
- 可开启浏览器控制台与 Docker 容器日志查看,但 Issue 指出该问题静默失败,无日志。
解决步骤
- 如果只是希望工具调用可用,可优先尝试切换为 Google Gemini 原生 API 端点(如
https://generativelanguage.googleapis.com/v1beta),或使用其他严格符合 OpenAI 规范的提供商端点(可优先尝试,非 Issue 已验证修复方案)。 - 如果必须使用该 OpenAI 兼容端点,可临时关闭 builtin tools 和 memory,避免模型自主调用
list_memories触发空回复(可优先尝试,可缓解症状,但本质问题未解决)。 - 关注 Open WebUI 官方文档中关于 Gemini 的说明是否有更新;维护者在 Issue 中表示会更新相关文档,对该端点的工具
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Question]: error when attaching file in chat ----AttributeError("'Request' object has no attribute 'file'")](https://www.chat-gpts.plus/wp-content/uploads/2026/08/11805-40332ec3-768x403.jpg)
![[Question]: No keyword or question was found in dataSet afer files loaded by customized ingestion pipeline](https://www.chat-gpts.plus/wp-content/uploads/2026/08/11474-a36958b1-768x403.jpg)
