Chat Completions
Markdownرد النموذج على محادثة بصيغة OpenAI. هذه الصيغة هي الأكثر شيوعاً، وتفهمها معظم تطبيقات العميل.
الدليل الكامل
https://api.ailoot.ai/v1/chat/completionscurl https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "اشرح في جملتين ما هي API."}
]
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0,
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "اشرح في جملتين ما هي API."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0,
baseURL: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY,
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "اشرح في جملتين ما هي API." }],
});
console.log(resp.choices[0].message.content);{
"id": "chatcmpl-8f2c…",
"object": "chat.completion",
"created": 1790812800,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "API هي اتفاق يحدّد كيف يطلب برنامج من برنامج آخر تنفيذ شيء ما…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}المصادقة
- Authorizationheaderمطلوب
المفتاح بصيغة
Bearer sk-…. يمكن أيضاً استخدام الترويساتx-api-keyأوx-goog-api-key.
جسم الطلب
- modelstringمطلوب
معرّف النموذج من الكتالوج، مثل
claude-sonnet-5-5. يجب أن يدعم النموذج صيغة OpenAI Chat. - messagesarrayمطلوب
سجل المحادثة: كائنات تتضمن
role(system,developer,user,assistant,tool) وcontent— كسلسلة نصية أو مصفوفة أجزاء (نص،image_url). - streambooleanاختياري
الرد بصيغة Server-Sent Events. القيمة الافتراضية هي
false. يأتي النص المدفوع دفعة واحدة بعد احتساب التكلفة، ولا يصل كلمة بكلمة. - stream_optionsobjectاختياري
{"include_usage": true}— إرسال القيمة النهائية لـusageكآخر حدث في التدفق. - max_tokensintegerاختياري
الحد الأقصى لتوكنات الرد. الاسم الجديد هو
max_completion_tokens. إذا لم يُحدد الحد، يضع Ailoot القيمة 4096 (أو أقل إذا كان حد رد النموذج أقل؛ ولدى Grok حد خاص). للردود الطويلة، حدد الحد صراحةً، وإلا فسيتوقف الرد عند 4096 توكن معfinish_reason: "length". يدخل هذا الحد في حساب الرصيد المحجوز: كلما زاد، احتجت إلى رصيد متاح أكبر. - temperaturenumberاختياري
درجة عشوائية الرد، عادةً من 0 إلى 2. قد تتجاهلها نماذج الاستدلال.
- top_pnumberاختياري
بديل لـtemperature: نسبة الكتلة الاحتمالية المستخدمة لاختيار التوكنات.
- stopstring | arrayاختياري
سلاسل نصية يتوقف التوليد عندها.
- toolsarrayاختياري
وصف الدوال التي يمكن للنموذج استدعاؤها. الصيغة مماثلة لصيغة OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectاختياري
auto,none,requiredأو دالة محددة. - response_formatobjectاختياري
{"type": "json_object"}أو{"type": "json_schema", ...}لرد منظّم، إذا كان النموذج يدعم ذلك. - reasoning_effortstringاختياري
عمق الاستدلال لدى نماذج الاستدلال:
low,medium,high.
تُمرّر بقية معاملات OpenAI كما هي؛ ويحدد مطوّر النموذج ما إذا كان النموذج المحدد يدعمها.
الرد
- choices[].messageobject
رد النموذج:
content، وعند استدعاء الأدوات —tool_calls. - choices[].finish_reasonstring
stop— اكتمل الرد؛length— بلغ الحد المحدد فيmax_tokens(يظل هذا الرد كاملاً وتُحسب تكلفته بحسب الاستخدام الفعلي)؛tool_calls— يستدعي النموذج أداة. - usageobject
prompt_tokens,completion_tokens,total_tokens— تُحسب قيمة الخصم بناءً عليها.