النص
إنشاء إكمال المحادثة (Chat Completion)
إنشاء إكمال لرسالة المحادثة
نص الطلب (Request Body)
تعتمد المعلمات الاختيارية المدعومة، والقيم المقبولة، والقيم الافتراضية على النموذج المختار. تحقق من تفاصيل النموذج قبل ضبط خيارات أخذ العينات (sampling)، أو التفكير (reasoning)، أو الأدوات.
معرف النموذج المراد استخدامه. راجع النماذج للاطلاع على الخيارات المتاحة.
قائمة بالرسائل التي تتكون منها المحادثة.
يحتوي كل كائن رسالة على:
role(string):system،developer،user،assistant،tool،functioncontent(string | array | null): محتوى الرسالة
بالنسبة لرسالة assistant التي تحتوي على tool_calls، يمكن حذف content أو ضبطه على null.
عندما يكون content عبارة عن مصفوفة، يدعم TokenLab كتل الوسائط المتعددة المهيكلة للنماذج المتوافقة:
- نص:
{ "type": "text", "text": "..." } - صورة:
{ "type": "image_url", "image_url": { "url": "https://..." } } - فيديو:
{ "type": "video_url", "video_url": { "url": "https://..." } } - صوت:
{ "type": "audio_url", "audio_url": { "url": "https://..." } }
بالنسبة لمدخلات الوسائط المتعددة، استخدم روابط https يمكن الوصول إليها علنًا. تعتمد أنواع الوسائط المدعومة على النموذج المختار.
درجة حرارة أخذ العينات (Sampling temperature). يعتمد الدعم والقيم المسموح بها والقيمة الافتراضية على النموذج المختار؛ احذف هذا الحقل لاستخدام القيمة الافتراضية.
الحد الأقصى لعدد الرموز (tokens) المراد إنشاؤها.
بالنسبة إلى deepseek-v4.1-flash (والاسم المستعار deepseek-flash)، يبدأ النموذج بالتفكير افتراضيًا. تُحتسب رموز التفكير ضمن max_tokens. إذا كانت قيمة max_tokens صغيرة جدًا، فقد تُستهلك الميزانية كلها في التفكير ويبقى نص الرسالة فارغًا مع احتساب تكلفة الطلب. للإجابات الطويلة، يُفضَّل ضبط max_tokens على نحو 32000، أو إيقاف التفكير. لإيقاف التفكير، أضف "thinking": {"type": "disabled"} (أو "reasoning_effort": "none") إلى جسم الطلب؛ ويعمل ذلك مع الطلبات المتدفقة وغير المتدفقة. أما "enable_thinking": false و"reasoning": {"enabled": false} فلا يوقفان التفكير.
falseإذا تم ضبطه على true، فسيتم إرسال دلتا الرسائل الجزئية كأحداث SSE.
للمخرجات الطويلة (آلاف الرموز أو أكثر)، اضبط stream=true حتى لا تنتهي مهلة العملاء غير المتدفقين أثناء انتظار الاستجابة الكاملة. قياس الفريق: استغرق GPT-6.1 Sol نحو 147 ثانية لإنتاج قرابة 12 ألف حرف دون تدفق.
خيارات البث (streaming). اضبط include_usage: true لتلقي استخدام الرموز في أجزاء البث.
معلمة أخذ عينات النواة (Nucleus sampling). نوصي بتغيير هذه المعلمة أو درجة الحرارة، وليس كليهما.
رقم بين -2.0 و 2.0. القيم الموجبة تعاقب الرموز المتكررة.
رقم بين -2.0 و 2.0. القيم الموجبة تعاقب الرموز الموجودة بالفعل في النص.
تسلسل التوقف أو قائمة بالتسلسلات. يعتمد الدعم وحدود التسلسل على النموذج المختار.
قائمة بالأدوات التي قد يستدعيها النموذج (استدعاء الوظائف).
يتحكم في كيفية استخدام النموذج للأدوات. الخيارات: auto، none، required، أو كائن أداة محدد.
السماح باستدعاءات أدوات متعددة في دور مساعد واحد، عند دعم ذلك من قبل النموذج المختار.
الحد الأقصى للرموز للإكمال. بديل لـ max_tokens، مفيد لعائلات النماذج الأحدث التي تدعم التفكير.
جهد التفكير للنماذج التي تدعمه. تعتمد القيم المقبولة على النموذج المختار.
بالنسبة لنماذج Claude، تحدد القيمة تفكير النموذج: مستوى جهد في النماذج ذات التفكير التكيفي، أو ميزانية تفكير في النماذج التي تستخدم واحدة. none تعطل التفكير في النماذج التي تسمح بذلك. أثناء تشغيل التفكير، يرفض Claude أي temperature غير 1، و top_k، و top_p خارج نطاق 0.95–1، ورسالة مساعد مملوءة مسبقًا. يعمل tool_choice القسري مع التفكير التكيفي ولكن ليس مع ميزانية التفكير.
خيارات لنماذج Claude.
prompt_caching(boolean): اضبط علىtrueلتخزين بداية المطالبة (prompt) مؤقتًا. يحدد TokenLab نهاية مطالبة النظام وأحدث رسالة مستخدم كنقاط تخزين مؤقت. الطلب اللاحق الذي يبدأ بنفس المحتوى يقرأه من ذاكرة التخزين المؤقت. إذا كانت أي رسالة تحتوي بالفعل علىcache_control، فلن يضيف TokenLab أي نقاط تخزين مؤقت.prompt_caching_ttl(string):5m(افتراضي) أو1h. إذا كان مسار الخدمة لا يدعم ساعة واحدة، يستخدم TokenLab خمس دقائق ولا يرفض الطلب.
يتم قبول extra.prompt_caching و extra.prompt_caching_ttl كخيارات مماثلة. راجع تخزين المطالبة مؤقتًا لمعرفة الأسعار وكيفية التحقق من الرموز المخزنة مؤقتًا.
بذرة أخذ العينات (Sampling seed) للنماذج التي تدعمها. لا يوجد ضمان للحصول على مخرجات متطابقة.
عدد عمليات الإكمال المراد إنشاؤها (1-128).
ما إذا كان سيتم إرجاع احتمالات السجل (log probabilities).
عدد احتمالات السجل العليا المراد إرجاعها (0-20). يتطلب logprobs: true.
أخذ عينات Top-K للنماذج التي تدعمها.
تنسيق الاستجابة. استخدم {"type": "json_object"} لوضع JSON أو {"type": "json_schema", "json_schema": {...}} لمخطط JSON. يعتمد الدعم على النموذج المختار.
تعديل احتمالية ظهور رموز محددة. قم بتعيين معرفات الرموز (كسلاسل نصية) إلى قيم انحياز من -100 إلى 100.
معرف فريد يمثل المستخدم النهائي الخاص بك لمراقبة الإساءة.
الاستجابة (Response)
معرف فريد لعملية الإكمال.
دائمًا chat.completion.
طابع زمني بنظام Unix لوقت إنشاء الإكمال.
النموذج المستخدم للإكمال.
قائمة بخيارات الإكمال.
يحتوي كل خيار على:
index(integer): فهرس الخيارmessage(object): الرسالة التي تم إنشاؤهاfinish_reason(string): سبب توقف النموذج، على سبيل المثالstop، أوlength، أوtool_calls
عندما يفكر النموذج، يمكن أن تحتوي message أيضًا على:
reasoning_content(string): نص التفكير. بعض النماذج تعيد ملخصًا فقط، أو لا تعيد أي نص.reasoning_details(array): كتل التفكير مع توقيعاتها. لمواصلة محادثة مع التفكير، على سبيل المثال بعد استدعاء أداة، أرسلها مرة أخرى دون تغيير في رسالة المساعد.
في البث، تصل نفس الحقول كـ delta.reasoning_content و delta.reasoning_details.
إحصائيات استخدام الرموز.
prompt_tokens(integer): الرموز في المطالبةcompletion_tokens(integer): الرموز في الإكمال، بما في ذلك رموز التفكيرtotal_tokens(integer): إجمالي الرموز المستخدمةcompletion_tokens_details.reasoning_tokens(integer): رموز التفكير، عندما يبلغ عنها النموذج
الطلب
curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"max_tokens": 1000
}'مثال على الوسائط المتعددة (Multimodal Example)
{
"model": "gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe this video briefly." },
{ "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
]
}
],
"max_tokens": 64
}الاستجابة
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1706000000,
"model": "gpt-5.6-terra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 9,
"total_tokens": 29
}
}التفويض
BearerAuth مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.
الموضع: header
الترويسات
سياسة التسليم لكل طلب. تتجاوز إعدادات API key و Workspace الافتراضية. يحاول النظام تلقائياً استخدام TokenLab Verified أولاً، وقد ينتقل مرة واحدة إلى Official فقط قبل المخرجات، أو قبول الطلب، أو إنشاء مورد دائم.
القيم المتاحة
- "auto"
- "verified"
- "official"
جسم الطلب
application/json
الاستجابة
application/json
application/json
application/json
application/json
application/json
application/json
application/json