النص

إنشاء استكمال المحادثة

ينشئ استكمالًا لرسالة المحادثة

POST
/v1/chat/completions

جسم الطلب

يعتمد دعم المعلمات الاختيارية والقيم المقبولة والقيم الافتراضية على النموذج المختار. راجع تفاصيل النموذج قبل ضبط خيارات أخذ العينات أو الاستدلال أو الأدوات.

modelstringمطلوب

معرف النموذج المستخدم. راجع Models للاطلاع على الخيارات المتاحة.

messagesarrayمطلوب

قائمة بالرسائل التي تشكل المحادثة.

يحتوي كل كائن رسالة على:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): محتوى الرسالة

في رسالة assistant التي تحتوي على tool_calls، يمكن حذف content أو تعيينه إلى null.

عندما تكون content مصفوفة، يدعم TokenLab كتلًا مُهيكلة متعددة الوسائط للنماذج المتوافقة:

  • text: { "type": "text", "text": "..." }
  • image: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • audio: { "type": "audio_url", "audio_url": { "url": "https://..." } }

للإدخال متعدد الوسائط، استخدم روابط https متاحة للعامة. تعتمد أنواع الوسائط المدعومة على النموذج المختار.

temperaturenumber

درجة حرارة أخذ العينات. يعتمد الدعم والقيم المسموح بها والقيمة الافتراضية على النموذج المختار. احذف هذا الحقل لاستخدام القيمة الافتراضية للنموذج.

max_tokensinteger

الحد الأقصى لعدد التوكنات التي سيتم توليدها.

streambooleanالافتراضي: false

إذا كانت القيمة true، سيتم إرسال دلتا الرسائل الجزئية كأحداث SSE.

stream_optionsobject

خيارات البث. اضبط include_usage: true لتلقي استخدام التوكنات في أجزاء البث.

top_pnumber

معامل Nucleus sampling. نوصي بتغيير هذا أو temperature، وليس كليهما.

frequency_penaltynumber

رقم بين -2.0 و2.0. القيم الإيجابية تعاقب التوكنات المكررة.

presence_penaltynumber

رقم بين -2.0 و2.0. القيم الإيجابية تعاقب التوكنات الموجودة بالفعل في النص.

stopstring | array

تسلسل إيقاف أو قائمة تسلسلات. يعتمد الدعم والحد الأقصى لعدد التسلسلات على النموذج المختار.

toolsarray

قائمة بالأدوات التي قد يستدعيها النموذج (استدعاء دوال).

tool_choicestring | object

يتحكم في كيفية استخدام النموذج للأدوات. الخيارات: auto, none, required, أو كائن أداة محدد.

parallel_tool_callsboolean

السماح باستدعاءات متعددة للأدوات في دور واحد للمساعد، إذا كان النموذج المختار يدعم ذلك.

max_completion_tokensinteger

الحد الأقصى للتوكنات للاستكمال. بديل لـ max_tokens، مفيد لعائلات النماذج الأحدث الممكّنة للتفكير.

reasoning_effortstring

جهد الاستدلال للنماذج التي تدعمه. تعتمد القيم المقبولة على النموذج المختار.

seedinteger

بذرة أخذ العينات للنماذج التي تدعمها. لا يُضمن الحصول على مخرجات متطابقة.

ninteger

عدد الاستكمالات المراد توليدها (1-128).

logprobsboolean

ما إذا كان سيتم إرجاع لوغاريتمات الاحتمالات.

top_logprobsinteger

عدد أعلى لوغاريتمات الاحتمالات المراد إرجاعها (0-20). يتطلب logprobs: true.

top_kinteger

أخذ العينات Top-K للنماذج التي تدعمه.

response_formatobject

تنسيق الاستجابة. استخدم {"type": "json_object"} لوضع JSON أو {"type": "json_schema", "json_schema": {...}} لمخطط JSON. يعتمد الدعم على النموذج المختار.

logit_biasobject

تعديل احتمال ظهور توكنات محددة. اربط معرفات التوكن (كسلاسل) بقيم تحيّز من -100 إلى 100.

userstring

معرف فريد يمثل المستخدم النهائي لديك لأغراض مراقبة الإساءة.

الاستجابة

idstring

معرف فريد للاستكمال.

objectstring

دائمًا chat.completion.

createdinteger

طابع زمني بنظام Unix لوقت إنشاء الاستكمال.

modelstring

النموذج المستخدم للاستكمال.

choicesarray

قائمة بخيارات الاستكمال.

يحتوي كل خيار على:

  • index (integer): مؤشر الخيار
  • message (object): الرسالة المولدة
  • finish_reason (string): سبب توقف النموذج، مثل stop أو length أو tool_calls
usageobject

إحصاءات استخدام التوكنات.

  • prompt_tokens (integer): التوكنات في المطالبة
  • completion_tokens (integer): التوكنات في الاستكمال
  • total_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
  }'

مثال متعدد الوسائط

{
  "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
}

الاستجابة

Response
{
  "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
AuthorizationBearer <token>

مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.

الموضع: header

الترويسات

X-TokenLab-Delivery-Policy?string

سياسة التسليم لكل طلب. تتجاوز إعدادات 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