Skip to content

النماذج القادرة على التفكير تُصدر حقل thinking يفصل بين مسار استدلالها والجواب النهائي. استخدم هذه الإمكانية لتدقيق خطوات النموذج، أو تحريك عملية التفكير الخاصة بالنموذج في واجهة المستخدم، أو إخفاء المسار بالكامل عندما تحتاج فقط إلى الجواب النهائي.

النماذج المدعومة

تفعيل التفكير في استدعاءات API

اضبط حقل think في طلبات الدردشة أو التوليد. تقبل معظم النماذج قيمًا منطقية (true/false) أو مستويات (low، medium، high، max)، حيث تطلب القيمة max أعلى مستوى تفكير.

أما نموذج GPT-OSS فيتوقع إحدى القيم low أو medium أو high لضبط طول المسار.

يحتوي حقل message.thinking (نقطة نهاية الدردشة) أو thinking (نقطة نهاية التوليد) على مسار الاستدلال، بينما يحتوي message.content / response على الجواب النهائي.

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

ملاحظة

يتطلب نموذج GPT-OSS تعيين حقل think إلى إحدى القيم "low" أو "medium" أو "high". يتم تجاهل تمرير القيم true/false لهذا النموذج.

بث مسار الاستدلال

تقوم دفقات التفكير بتبديل رموز الاستدلال قبل رموز الجواب. اكتشف أول جزء thinking لعرض قسم "التفكير"، ثم انتقل إلى الرد النهائي بمجرد وصول message.content.

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)

  • تفعيل التفكير لتشغيل واحد: ollama run deepseek-r1 --think "Where should I visit in Lisbon?"
  • تعطيل التفكير: ollama run deepseek-r1 --think=false "Summarize this article"
  • إخفاء المسار مع الاستمرار في استخدام نموذج تفكير: ollama run deepseek-r1 --hidethinking "Is 9.9 bigger or 9.11?"
  • في الجلسات التفاعلية، بدّل بين تفعيل وتعطيل التفكير باستخدام /set think أو /set nothink.
  • يقبل نموذج GPT-OSS المستويات فقط: ollama run gpt-oss --think=low "Draft a headline" (استبدل low بـ medium أو high حسب الحاجة).

ملاحظة

التفكير مفعّل بشكل افتراضي في واجهة سطر الأوامر (CLI) وواجهة برمجة التطبيقات (API) للنماذج المدعومة.