Gemma and Qwen models not working with Native Function Calling in OpenWebUI

用户通过 Docker 部署 OpenWebUI v0.9.6 和 Ollama 0.30.10,在 Devuan 系统(Debian 13)上使用 AMD Radeon RX 6700 XT 显卡。在 OpenWebUI 中启用 Native Function Calling 后,尝试对话 gem

快速结论:该报错通常发生在 OpenWebUI 使用 Native Function Calling 调用 Gemma 或 Qwen 系列模型时,优先排查 OpenWebUI 的 num_ctx 参数是否过低,以及 Ollama 的 OLLAMA_CONTEXT_LENGTH 环境变量是否设置足够大。

问题场景

用户通过 Docker 部署 OpenWebUI v0.9.6 和 Ollama 0.30.10,在 Devuan 系统(Debian 13)上使用 AMD Radeon RX 6700 XT 显卡。在 OpenWebUI 中启用 Native Function Calling 后,尝试对话 gemma4:12bqwen2.5-coder:3b 模型,结果出现无响应或输出空白的问题。

报错原文

time=2026-06-19T21:58:32.317Z level=WARN source=llama_server.go:299 msg="truncating input prompt" limit=4095 prompt=4273 keep=4 new=4095

原因分析

在 Native Function Calling 模式下,工具定义和指令会占用大量上下文窗口。当输入提示(prompt)长度超过模型上下文限制时,Ollama 会截断输入,导致模型无法正确处理函数调用请求,最终表现为无输出或输出空白。

对于 qwen2.5-coder:3b 模型,输出 JSON 但不作为代码格式,可能原因是该模型本身不适合工具调用,属于模型能力限制(非软件 Bug)。

环境排查

  • 确认 OpenWebUI 版本是否为 v0.9.6,Ollama 版本是否为 0.30.10。
  • 检查 Docker 或主机环境中 OLLAMA_CONTEXT_LENGTH 环境变量的值(默认可能为 2048-4096)。
  • 确认 OpenWebUI 中每个模型的 num_ctx 参数(上下文长度设置)。
  • 检查 Ollama 日志中是否有 truncating input prompt 的警告信息。

解决步骤

  1. 在启动 Ollama 的 Docker 环境或主机中设置 OLLAMA_CONTEXT_LENGTH=64000(或更大的值,根据实际情况调整)。
  2. 在 OpenWebUI 中,对目标模型(如 gemma4:12b)手动设置 num_ctx 参数为一个较大的值(例如 64000),因为 OpenWebUI 的 num_ctx 会覆盖 Ollama 的环境变量设置。
  3. 重新启动 Ollama 和 OpenWebUI 服务。
  4. 对于 qwen2.5-coder:3b 模型,可优先尝试升级到 qwen3.5 系列模型,因为该模型系列在工具调用方面表现更好。

验证方法

在 OpenWebUI 中启用 Native Function Calling 并发送对话请求,确认模型能够正常返回函数调用结果或回复,而不是长时间无响应或输出空白。

参考来源

ollama/ollama #16821

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18357

发表回复

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