
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:12b 和 qwen2.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的警告信息。
解决步骤
- 在启动 Ollama 的 Docker 环境或主机中设置
OLLAMA_CONTEXT_LENGTH=64000(或更大的值,根据实际情况调整)。 - 在 OpenWebUI 中,对目标模型(如
gemma4:12b)手动设置num_ctx参数为一个较大的值(例如 64000),因为 OpenWebUI 的num_ctx会覆盖 Ollama 的环境变量设置。 - 重新启动 Ollama 和 OpenWebUI 服务。
- 对于
qwen2.5-coder:3b模型,可优先尝试升级到qwen3.5系列模型,因为该模型系列在工具调用方面表现更好。
验证方法
在 OpenWebUI 中启用 Native Function Calling 并发送对话请求,确认模型能够正常返回函数调用结果或回复,而不是长时间无响应或输出空白。



