微信扫码
添加专属顾问
我要投稿
Ollama v0.9.0重磅推出AI思维链控制功能,让开发者能透视并干预模型的推理过程,大幅提升AI应用的可控性。 核心内容: 1. 思考功能的定义与支持模型 2. CLI和API两种调用方式详解 3. 当前Java生态的兼容性现状与解决方案
思考功能允许AI模型在给出最终答案之前,先展示其内部的推理过程。这就像是让AI"开口思考",用户可以看到模型是如何一步步分析问题并得出结论的。
ollama 目前支持思考功能的模型包括:
启用思考功能:
# 使用参数启用
ollama run deepseek-r1 --think "9.9和9.11哪个更大?"
# 交互模式中启用
/set think
禁用思考功能:
# 使用参数禁用
ollama run deepseek-r1 --think=false "快速计算10+23"
# 交互模式中禁用
/set nothink
如果您想在脚本中使用思考模型但只看结果,可以使用 --hidethinking
参数:
ollama run deepseek-r1:8b --hidethinking "草莓这个词里有几个r?"
Ollama的API完全支持思考功能,通过 think
参数控制:
curl http://localhost:11434/api/chat -d '{
"model": "deepseek-r1",
"messages": [
{
"role": "user",
"content": "解释一下量子纠缠的原理"
}
],
"think": true,
"stream": false
}'
响应格式:
{
"model":"deepseek-r1",
"message":{
"role":"assistant",
"content":"量子纠缠是指两个或多个粒子...",
"thinking":"用户询问量子纠缠原理,我需要从基础概念开始解释...",
"done_reason":"stop"
}
}
需要特别注意的是,目前主流的Java AI集成库对Ollama 0.9的思考功能支持还不完善:
think
属性think
属性如果您在Java项目中需要使用思考功能,建议直接使用HTTP客户端调用Ollama的REST API:
笔者在之前的分享中发现,Qwen3模型有一个独特的能力:可以通过在提示词中携带 /nothink
关键字来控制是否进行深度推理。我们可以巧妙地利用Modelfile的TEMPLATE功能,在不修改后端代码的情况下,自动为用户提交的prompt添加控制指令。
FROM qwen3:latest
TEMPLATE """
...
{{- if eq .Role "user" }}
<|im_start|>user
/nothink {{ .Content }}<|im_end|> # change this line
{{ else if eq .Role "assistant" }}<|im_start|>assistant
...
"""
创建并使用模型:
ollama create qwen3-fast -f ./Modelfile
ollama run qwen3-fast "解释一下机器学习的基本概念"
这样创建的模型会自动在每个用户输入前添加 /nothink
,实现默认快速响应模式。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-29
2025-03-20
2025-03-21
2025-03-16
2025-03-16
2025-04-11
2025-03-20
2025-03-19
2025-03-20
2025-03-19
2025-06-13
2025-06-13
2025-06-13
2025-06-13
2025-06-12
2025-06-12
2025-06-12
2025-06-12