Skip to main content

نظرة عامة

تثري واجهة برمجة تطبيقات TokenLab Agent-First استجابات الأخطاء بإرشادات مهيكلة يمكن لوكلاء الذكاء الاصطناعي تحليلها والتصرف بناءً عليها فورًا — دون بحث على الويب، دون الرجوع إلى الوثائق، ودون تخمين. قد تتضمن أخطاء gateway المتوافقة مع OpenAI في Chat Completions وResponses حقولًا اختيارية مثل did_you_mean وsuggestions وhint وretryable وretry_after داخل كائن error. تحتفظ نقاط Anthropic Messages وGemini بأشكال الأخطاء الأصلية ولا تَعِد بهذه الامتدادات.

حقول إرشادات الخطأ

في أخطاء gateway المتوافقة مع OpenAI، تكون جميع حقول الإرشاد امتدادات اختيارية داخل كائن error:

أمثلة على رموز الخطأ

model_not_found (400)

عندما لا يطابق اسم النموذج أي نموذج نشط:
يستخدم حل did_you_mean الأساليب التالية:
  1. تعيين الألقاب الثابت (مستند إلى بيانات أخطاء الإنتاج)
  2. مطابقة السلاسل بعد التسويّة (يزيل الشرطات، غير حساس لحالة الأحرف)
  3. مطابقة مسافة التحرير (العتبة ≤ 3)
لا تكشف المسارات العامة عن رموز خطأ منفصلة للنماذج المخفية أو المؤجلة أو غير العامة. عامل النماذج العامة غير المتاحة بنفس طريقة الخطأ: افحص did_you_mean وsuggestions وhint، ثم أعد المحاولة بنموذج عام مدعوم.

insufficient_balance (402)

عندما يكون رصيد الحساب أقل من التكلفة المقدرة:
يحتوي suggestions على نماذج أرخص من التكلفة المقدرة يمكن للوكيل التبديل إليها.

all_channels_failed (503)

عندما تكون جميع القنوات الصاعدة لنموذج غير متاحة:
retryable هو false عندما يكون السبب هو no_channels (لا توجد قنوات مكوّنة لهذا النموذج). يكون true فقط للفشل العابر مثل تشغيل قاطع الدائرة أو نفاد الحصة.

rate_limit_exceeded (429)

تُحسب قيمة retry_after من وقت إعادة ضبط نافذة حد المعدل الفعلي.
تستخدم نقاط النهاية المتوافقة مع OpenAI أنواع أخطاء عامة ومستقرة من TokenLab مثل rate_limit_exceeded وupstream_error وall_channels_failed. تستخدم نقاط النهاية المتوافقة مع Anthropic وGemini هياكل الاستجابة الأصلية الخاصة بها.

context_length_exceeded (400)

عندما يتجاوز الإدخال نافذة السياق للنموذج (خطأ صاعد، معزز بالإرشادات):

اكتشاف نقاط النهاية الأصلية

لا تستنتج توفر البروتوكول الأصلي من اسم النموذج أو المزود، ولا من رؤوس استجابة Chat. قبل اختيار نقطة نهاية أصلية، اقرأ GET /v1/models/{model} واستخدم فقط صيغة طلب تعلنها تفاصيل النموذج وتدعمها قناة تستخدم البروتوكول نفسه. الحقل المحدد هو tokenlab.accepted_request_formats. صيغة الطلب المعلنة تحدد توفر نقطة النهاية؛ ويظل دعم الحقول والأدوات الفردية خاصًا بالخدمة العليا.

تحسينات /v1/models

يحمل /v1/models الآن بيانات وصفية توصية غير محادثة يمكن للوكالات استخدامها قبل أن تستدعي نقاط النهاية الخاصة بالصور أو الفيديو أو الموسيقى أو 3D أو TTS أو STT أو embedding أو rerank أو الترجمة.
عند وجود recommended_for يُستمد agent_preferences من لقطة معدل نجاح مخبأة لمدة 24 ساعة:
  • النافذة: 24 ساعة
  • ذاكرة لقطة الشاشة: stale-while-revalidate
  • status = "ready" يعني أن لدى النموذج عينات حديثة كافية للمشاركة في الترتيب
  • status = "insufficient_samples" يعني أن النموذج يظل مرئيًا لكنه لا يُصنف قبل النماذج المُسجلة بالدرجات

تصفية حسب الفئة

اكتشاف التوصية

بالنسبة لتدفقات العمل غير المحادثة، يجب على الوكلاء جلب القائمة القصيرة الموصى بها أولًا:
القيم الصالحة لـ recommended_for هي:
  • image
  • video
  • music
  • 3d
  • tts
  • stt
  • embedding
  • rerank
  • translation
إذا كان كل من category وrecommended_for موجودين، يجب أن يتطابقا تمامًا. تدفق الوكيل الموصى به:
  1. GET /v1/models?recommended_for=<scene>
  2. اختر أول نموذج حيث agent_preferences.<scene>.status == "ready"
  3. نادِ نقطة النهاية صراحةً مع model=<selected>
  4. عند حدوث أخطاء عابرة فقط، أعد المحاولة مع النموذج التالي ready

llms.txt

يتوفر نظرة عامة على واجهة برمجة التطبيقات بصيغة قابلة للقراءة آليًا في:
يتضمن:
  • قالب النداء الأول مع مثال عملي يعمل
  • أسماء النماذج الشائعة (مولدة ديناميكيًا من بيانات الاستخدام)
  • كل نقاط النهاية الـ 12 للـ API
  • معلمات التصفية لاكتشاف النماذج
  • إرشادات التعامل مع الأخطاء
يمكن للوكلاء الذين يقرأون llms.txt قبل نداءهم الأول عادةً النجاح في المحاولة الأولى.

الاستخدام في كود الوكيل

بايثون (OpenAI SDK)

JavaScript (OpenAI SDK)

مبادئ التصميم

افشل بسرعة وبشكل إعلامي

تعيد الأخطاء فورًا كل البيانات التي يحتاجها الوكيل ليتصحيح نفسه.

لا توجيه تلقائي

لا تقوم الـ API باستبدال نموذج مختلف بصمت. الوكيل هو من يقرر.

اقتراحات مستندة إلى البيانات

جميع التوصيات تأتي من بيانات الإنتاج، وليس قوائم ثابتة مشفرة.

متوافق مع الإصدارات السابقة

جميع حقول الإرشاد اختيارية. العملاء الحاليون لن يلاحظوا أي اختلاف.