Các mô hình có khả năng suy luận sẽ trả về trường thinking giúp phân tách dấu vết quá trình suy luận của chúng với câu trả lời cuối cùng.
Sử dụng khả năng này để kiểm tra các bước hoạt động của mô hình, hiển thị hoạt động suy luận của mô hình trên giao diện người dùng, hoặc ẩn hoàn toàn dấu vết suy luận khi bạn chỉ cần câu trả lời cuối cùng.
Các mô hình được hỗ trợ
- Qwen 3
- GPT-OSS (sử dụng các mức
think:low,medium,high— dấu vết suy luận không thể bị tắt hoàn toàn) - DeepSeek-v3.1
- DeepSeek R1
- Duyệt các mô hình mới được thêm vào tại mục mô hình suy luận
Bật tính năng suy luận trong các lệnh gọi API
Đặt trường think trong các yêu cầu chat hoặc generate. Hầu hết các mô hình chấp nhận giá trị boolean (true/false) hoặc các mức (low, medium, high, max), trong đó max yêu cầu mức suy luận cao nhất.
GPT-OSS thay vào đó yêu cầu một trong các giá trị low, medium hoặc high để điều chỉnh độ dài dấu vết suy luận.
Trường message.thinking (điểm cuối chat) hoặc thinking (điểm cuối generate) chứa dấu vết quá trình suy luận, trong khi message.content / response chứa câu trả lời cuối cùng.
cURL
```shell
curl http://localhost:11434/api/chat -d '{
"model": "qwen3",
"messages": [{
"role": "user",
"content": "How many letter r are in strawberry?"
}],
"think": true,
"stream": false
}'
```
Python
```python
from ollama import chat
response = chat(
model='qwen3',
messages=[{'role': 'user', 'content': 'How many letter r are in strawberry?'}],
think=True,
stream=False,
)
print('Thinking:\n', response.message.thinking)
print('Answer:\n', response.message.content)
```
JavaScript
```javascript
import ollama from 'ollama'
const response = await ollama.chat({
model: 'deepseek-r1',
messages: [{ role: 'user', content: 'How many letter r are in strawberry?' }],
think: true,
stream: false,
})
console.log('Thinking:\n', response.message.thinking)
console.log('Answer:\n', response.message.content)
```
Lưu ý
GPT-OSS yêu cầu trường think phải được đặt thành một trong các giá trị "low", "medium" hoặc "high". Việc truyền giá trị true/false sẽ bị mô hình này bỏ qua.
Truyền dấu vết suy luận theo luồng
Luồng suy luận sẽ xen kẽ các token suy luận trước các token câu trả lời. Phát hiện khối thinking đầu tiên để hiển thị phần "suy luận", sau đó chuyển sang câu trả lời cuối cùng khi trường message.content xuất hiện.
Python
```python
from ollama import chat
stream = chat(
model='qwen3',
messages=[{'role': 'user', 'content': 'What is 17 × 23?'}],
think=True,
stream=True,
)
in_thinking = False
for chunk in stream:
if chunk.message.thinking and not in_thinking:
in_thinking = True
print('Thinking:\n', end='')
if chunk.message.thinking:
print(chunk.message.thinking, end='')
elif chunk.message.content:
if in_thinking:
print('\n\nAnswer:\n', end='')
in_thinking = False
print(chunk.message.content, end='')
```
JavaScript
```javascript
import ollama from 'ollama'
async function main() {
const stream = await ollama.chat({
model: 'qwen3',
messages: [{ role: 'user', content: 'What is 17 × 23?' }],
think: true,
stream: true,
})
let inThinking = false
for await (const chunk of stream) {
if (chunk.message.thinking && !inThinking) {
inThinking = true
process.stdout.write('Thinking:\n')
}
if (chunk.message.thinking) {
process.stdout.write(chunk.message.thinking)
} else if (chunk.message.content) {
if (inThinking) {
process.stdout.write('\n\nAnswer:\n')
inThinking = false
}
process.stdout.write(chunk.message.content)
}
}
}
main()
```
Tài liệu tham khảo nhanh cho CLI
- Bật tính năng suy luận cho một lần chạy:
ollama run deepseek-r1 --think "Where should I visit in Lisbon?" - Tắt tính năng suy luận:
ollama run deepseek-r1 --think=false "Summarize this article" - Ẩn dấu vết suy luận trong khi vẫn sử dụng mô hình suy luận:
ollama run deepseek-r1 --hidethinking "Is 9.9 bigger or 9.11?" - Trong các phiên làm việc tương tác, sử dụng lệnh
/set thinkhoặc/set nothinkđể bật/tắt tính năng. - GPT-OSS chỉ chấp nhận các mức giá trị:
ollama run gpt-oss --think=low "Draft a headline"(thay thếlowbằngmediumhoặchightùy theo nhu cầu).
Lưu ý
Tính năng suy luận được bật theo mặc định trong CLI và API đối với các mô hình được hỗ trợ.