نقاط النهاية
الاستدلال (Reasoning)
تحكّم في ميزانية الاستدلال ومستوى الجهد ومخرجات التفكير لنماذج الاستدلال عبر المعامل reasoning الموحّد في chat completions.
جرّبه في ساحة التجربةتفكّر نماذج الاستدلال قبل أن تجيب: OpenAI GPT-5 وسلسلة o، وClaude مع التفكير الموسّع، وGemini 2.5، وDeepSeek R1، وQwen وغيرها. تقبل api14 معاملاً واحداً هو reasoning وتحوّله إلى الإعداد الأصلي لكل مزوّد. تُحتسب رموز الاستدلال كرموز مخرجات.
معاملات الطلب
| المعامل | النوع | الوصف |
|---|---|---|
reasoning.effort | string | "minimal" أو "low" أو "medium" أو "high". تستخدمه نماذج OpenAI وGrok، وتُحوَّل في النماذج الأخرى إلى ميزانية رموز. |
reasoning.max_tokens | integer | ميزانية رموز دقيقة للتفكير. تستخدمها Anthropic وGemini وQwen. استخدم أحدهما فقط، لا كليهما. |
reasoning.exclude | boolean | يستمر النموذج في الاستدلال، لكن نص الاستدلال لا يُدرج في الاستجابة. |
reasoning.enabled | boolean | يفعّل الاستدلال بالإعدادات الافتراضية. |
include_reasoning | boolean | مفتاح قديم، ويعادل reasoning: {} أو reasoning.exclude: false. |
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
"reasoning": { "max_tokens": 2000 },
"max_tokens": 4000
}
يجب أن يكون max_tokens أكبر من ميزانية الاستدلال، لأنه يشمل التفكير والإجابة معاً.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
],
"reasoning": {
"effort": "high"
}
});
console.log(result.choices[0].message.content);
الاستجابة
يُعاد نص الاستدلال في message.reasoning، منفصلاً عن الإجابة. وتعيد بعض النماذج أيضاً كائنات reasoning_details منظّمة:
{
"id": "gen-1760000000-think",
"model": "anthropic/claude-sonnet-4.5",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "There are 3 r's in \"strawberry\".",
"reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
}
}
],
"usage": {
"prompt_tokens": 22,
"completion_tokens": 312,
"total_tokens": 334,
"completion_tokens_details": { "reasoning_tokens": 290 },
"cost": 0.004746
}
}
عند البث، يصل الاستدلال في أجزاء delta.reasoning قبل أجزاء delta.content.
ملاحظات
- لا تعيد نماذج سلسلة o ونماذج GPT-5 من OpenAI نص استدلالها، لكنك تدفع مقابل
reasoning_tokensعلى أي حال. - عند استخدام الأدوات عبر عدة أدوار مع Claude، أعد
reasoning_detailsدون تعديل في رسالة المساعد حتى يتمكن النموذج من متابعة استدلاله. - بعض النماذج (مثل
deepseek/deepseek-r1) تستدل دائماً. لا يؤثرeffortفيها. - يكلّف الجهد الأعلى أكثر ويستغرق وقتاً أطول. راقب
completion_tokens_details.reasoning_tokens.
الأخطاء
هي نفسها الواردة في Chat completions. قد تعيد ميزانية صغيرة جداً أو كبيرة جداً لنموذج ما الخطأ 400 من المزوّد. راجع الأخطاء.