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

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

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

快速结论:该报错通常发生在 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
文章: 8998

发表回复

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