祥博客
返回首页
2026年3月17日技术分享

[Ollama Qwen3.5] 调整 Modelfile 模板配置解决 thinking 模式无法禁用的难题

场景复现

在本地部署 Qwen3.5 大模型(如 Unsloth GGUF 版本)时,许多开发者发现无法有效关闭模型的“thinking”思考模式。这导致输出包含冗长的推理过程,不仅拖慢了响应速度,还增加了 Token 消耗。现有的文档对于 Modelfile 中的 `enable_thinking` 等关键参数缺乏清晰指引,严重影响了开发效率和业务落地体验。

核心步骤

要解决这个问题,我们需要手动创建或修改 Modelfile,通过 Jinja2 模板逻辑显式控制思考开关,而非依赖默认配置。 步骤 1:创建 Modelfile 并指定基础模型 以 `unsloth/Qwen3.5-35B-A3B-GGUF` 为例,首先创建一个新的 Modelfile。我们需要明确引用 GGUF 文件,并设置基础参数。
FROM unsloth/Qwen3.5-35B-A3B-GGUF

# 设置模型参数
PARAMETER temperature 0.7
PARAMETER num_ctx 8192
步骤 2:配置 TEMPLATE 模板逻辑 这是最关键的一步。在 Modelfile 中使用 `TEMPLATE` 字段覆盖默认模板。通过判断 `enable_thinking` 变量来决定是否渲染 `` 标签。我们可以通过硬编码变量或利用 Ollama 的参数传递功能来控制它。
TEMPLATE """
{{- range .Messages }}
{{- if .Role == "system" }}<|im_start|>system
{{ .Content }}<|im_end|>
{{- else if .Role == "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{- else if .Role == "assistant" }}<|im_start|>assistant
{{- if $.Think }}{{- end }}
{{ .Content }}<|im_end|>
{{- end }}
{{- end }}

{%- if enable_thinking is defined and enable_thinking is false %}
    {# 此处逻辑可强制跳过思考过程或重置相关变量 #}
    {%- set $.Think = "" -%}
{%- endif %}

<|im_start|>assistant
"""
步骤 3:构建模型并运行测试 保存 Modelfile 后,使用 `ollama create` 命令构建自定义模型,并在运行时验证输出是否不再包含思考标签。
# 构建模型
ollama create my-qwen35 -f Modelfile

# 运行模型(若模板支持参数传递,可尝试在 API 调用中设置 options)
ollama run my-qwen35 "请简述量子计算的基本原理"

商业价值

精准控制 Qwen3.5 的 thinking 模式能显著优化 API 响应结构。对于客服或知识库问答场景,关闭思考模式可减少约 20%-40% 的无效 Token 输出,直接降低推理成本并提升端侧用户的感知速度。如需定制方案欢迎咨询
💬 遇到类似问题?欢迎 联系咨询,提供一对一技术答疑。

推荐工具

AI Tool Station

1000+ AI 工具深度评测,ROI 分析 + 场景化对比。

立即浏览 →

推荐产品

PMatrix

小红书全自动 AI 内容系统,热点采集 → AI 生成 → 自动发布。

了解详情 →

相关文章