Skip to content

Düşünme yeteneğine sahip modeller, akıl yürütme izlerini son cevaptan ayıran bir thinking alanı yayınlar.

Bu yeteneği, model adımlarını denetlemek, modelin düşünme sürecini bir kullanıcı arayüzünde canlandırmak veya yalnızca son cevaba ihtiyacınız olduğunda izi tamamen gizlemek için kullanabilirsiniz.

Desteklenen modeller

API çağrılarında düşünmeyi etkinleştir

Sohbet veya üretim isteklerinde think alanını ayarlayın. Çoğu model boole değerlerini (true/false) veya seviyeleri (low, medium, high, max) kabul eder; max en yüksek düşünme seviyesini ister.

GPT-OSS ise iz uzunluğunu ayarlamak için low, medium veya high değerlerinden birini bekler.

message.thinking (sohbet uç noktası) veya thinking (üretim uç noktası) alanı akıl yürütme izini içerirken, message.content / response son cevabı tutar.

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)
```

Not

GPT-OSS için think değerinin "low", "medium" veya "high" olarak ayarlanması gerekir. Bu model için true/false değerleri dikkate alınmaz.

Akıl yürütme izini akış olarak gönder

Düşünme akışları, cevap belirteçlerinden önce akıl yürütme belirteçlerini bir arada gönderir. İlk thinking parçasını tespit ederek bir "düşünme" bölümü render edin, ardından message.content ulaştığında son cevaba geçin.

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 hızlı referans

  • Tek bir çalıştırma için düşünmeyi etkinleştir: ollama run deepseek-r1 --think "Where should I visit in Lisbon?"
  • Düşünmeyi devre dışı bırak: ollama run deepseek-r1 --think=false "Summarize this article"
  • Düşünme modeli kullanırken izi gizle: ollama run deepseek-r1 --hidethinking "Is 9.9 bigger or 9.11?"
  • Etkileşimli oturumlar içinde /set think veya /set nothink komutlarıyla açıp kapatın.
  • GPT-OSS yalnızca seviyeleri kabul eder: ollama run gpt-oss --think=low "Draft a headline" (gerektiğinde low değerini medium veya high ile değiştirin).

Not

Desteklenen modeller için CLI ve API'de düşünme özelliği varsayılan olarak etkinleştirilmiştir.