
v0.3x.x Non-thinking / instruct model variants starts to think (Reopen)
快速结论:该问题属于 Ollama v0.30.11 及以上版本(包括 v0.31.1)的回归 bug,表现为 instruct 变体模型不再使用 Go 模板,导致应该直接回答问题的模型开始输出“思考”过程。优先排查是否通过 OLLAMA_GO_TEMPLATE 环境变量强制启用 Go 模板,或拉取已修复 Jinja 模板的模型版本。
问题场景
用户在 Ollama 中使用 instruct 类型模型(例如 Qwen3.5 的 instruct 变体)进行推理时,模型本该直接生成回答,却输出了内部思考过程。该问题在 PR #16878 合并后重新出现,用户反馈在 v0.30.11 和 v0.31.1 中均能稳定复现。
报错原文
#16878 fixed `/api/generate` to work like `/api/chat`, ie now neither endpoint uses the Go template for this model, so it always thinks.
注意:该问题并非传统错误日志,而是模型行为异常——instruct 模型输出思考内容。
原因分析
PR #16878 修复了 /api/generate 端点使其行为与 /api/chat 一致,但代价是这两个端点均不再使用模型的 Go 模板。对于依赖 Go 模板来控制 instruct 模型输出行为的用户而言,模型因此失去了抑制思考过程的模板逻辑,导致始终输出思考内容。
环境排查
- Ollama 版本:确认版本为 v0.30.11 或 v0.31.x(包括 v0.31.1)。
- 模型类型:是否为 instruct 变体(如 Qwen3.5-instruct 系列)。
- 端点:是否使用
/api/generate或/api/chat接口。 - 环境变量:检查是否设置了
OLLAMA_GO_TEMPLATE。 - 操作系统:Issue 中已验证 Linux + Nvidia GPU 环境。
解决步骤
- 设置环境变量(可优先尝试): 在启动 Ollama 服务前设置
OLLAMA_GO_TEMPLATE=1,强制启用 Go 模板(参考 Issue #16792 的评论建议)。 - 拉取修复版模型: 如果步骤 1 不适用或影响其他模型,可以拉取社区已修复 Jinja 模板的模型版本。例如:
ollama pull frob/qwen3.5-instruct:4b该模型已更新 Jinja 模板,拉取后重新运行即恢复正常行为。
- 等待官方修复: 上述两个方案为临时绕过方案,根本解决依赖官方在后续版本中重新设计模板处理逻辑。Issue #17083 已重新打开并标记为 bug。
验证方法
运行被影响的 instruct 模型,发送简单对话请求(如 hi)。正常行为应直接返回回答,不应输出明显的中间思考过程。例如:
$ ollama run frob/qwen3.5-instruct:4b
>>> hi
Hello! How can I help you today?



