Denkmodellen geven een thinking-veld terug dat hun redeneerspoor scheidt van het eindantwoord. Gebruik deze functionaliteit om modelstappen te controleren, het denken van het model in een gebruikersinterface te animeren, of het spoor volledig te verbergen als u alleen het eindantwoord nodig hebt.
Ondersteunde modellen
- Qwen 3
- GPT-OSS (gebruik
think-niveaus:low,medium,high— het spoor kan niet volledig worden uitgeschakeld) - DeepSeek-v3.1
- DeepSeek R1
- Bekijk de nieuwste toevoegingen onder denkmodellen
Denken inschakelen in API-aanvragen
Stel het think-veld in op chat- of genereer aanvragen. De meeste modellen accepteren booleaanse waarden (true/false) of niveaus (low, medium, high, max), waarbij max het hoogste denkniveau aanvraagt.
GPT-OSS vereist daarentegen een van de waarden low, medium of high om de lengte van het spoor aan te passen.
Het veld message.thinking (chat-eindpunt) of thinking (genereer-eindpunt) bevat het redeneerspoor, terwijl message.content / response het eindantwoord bevat.
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)
```
Note
GPT-OSS vereist dat think is ingesteld op "low", "medium" of "high". Het doorgeven van true/false wordt voor dit model genegeerd.
Stroom het redeneerspoor
Denkstromen weven redeneertokens in voor antwoordtokens. Detecteer het eerste thinking-chunk om een 'denk'-sectie weer te geven, en schakel vervolgens over naar het eindantwoord zodra message.content arriveert.
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()
```
CLI-snelreferentie
- Schakel denken in voor één uitvoering:
ollama run deepseek-r1 --think "Where should I visit in Lisbon?" - Schakel denken uit:
ollama run deepseek-r1 --think=false "Summarize this article" - Verberg het spoor terwijl u nog steeds een denkmodel gebruikt:
ollama run deepseek-r1 --hidethinking "Is 9.9 bigger or 9.11?" - Schakel binnen interactieve sessies met
/set thinkof/set nothink. - GPT-OSS accepteert alleen niveaus:
ollama run gpt-oss --think=low "Draft a headline"(vervanglowindien nodig doormediumofhigh).
Note
Denken is standaard ingeschakeld in de CLI en API voor ondersteunde modellen.