Skip to content

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

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 think of /set nothink.
  • GPT-OSS accepteert alleen niveaus: ollama run gpt-oss --think=low "Draft a headline" (vervang low indien nodig door medium of high).

Note

Denken is standaard ingeschakeld in de CLI en API voor ondersteunde modellen.