Ollama Thinking 功能发布
Ollama 引入了一项新功能,允许用户启用或禁用受支持 AI 模型的“思考”过程。此次更新为模型处理信息的方式提供了灵活性,使用户能够选择查看与最终答案分离的内部推理步骤(思考),或者在没有推理开销的情况下直接接收响应。
Supported Models
Ollama 已为以下模型实现了这一能力:
- DeepSeek R1: 完全支持。
- Qwen 3: 完全支持。
- 更多模型将被添加到 thinking models 类别中。
CLI Implementation and Usage
在 Ollama CLI 中,思考功能默认是启用的。用户可以使用特定的标志和命令来控制此行为:
Command Line Flags
- Enable Thinking: 使用
--think标志。 - Disable Thinking: 使用
--think=false标志。
Interactive Sessions
在活跃的聊天会话中,用户可以使用以下斜杠命令来切换思考功能:
- Enable:
/set think - Disable:
/set nothink
Scripting and Output Filtering
对于希望模型执行其推理过程但不想在输出中显示推理文本的用户,可以使用 --hidethinking 命令。例如:
ollama run deepseek-r1:8b --hidethinking "is 9.9 bigger or 9.11?"
API Integration
/api/generate 和 /api/chat 接口均已更新,以包含一个新的 think 参数。该参数接受一个布尔值(true 或 false)。
当 think 设置为 true 时,API 响应会将模型的思考过程与最终内容分离。这允许开发者构建自定义用户界面,例如在 GUI 中为思考过程制作动画,或为游戏中的 NPC 创建“思考气泡”。当设置为 false 时,模型将跳过思考过程并直接输出内容。
Library Support
Ollama 已更新其官方库以支持新的 think 参数:
Python Library
用户可以通过向 chat 函数传递 think=True 来启用思考功能。响应对象随后将包含独立的 response.message.thinking 和 response.message.content 字段。
JavaScript Library
与 Python 库类似,JavaScript 库在 chat 方法中支持 think: true 选项。它还支持流式响应,允许开发者通过监控流中的 chunk.message.thinking 和 chunk.message.content 字段,来检测模型何时从 thinking 状态切换到 content 状态。
Sources
- OriginalThinking
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch