Ollama Thinking Feature Release
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