نظرة عامة
تثري واجهة برمجة تطبيقات 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 الأساليب التالية:
- تعيين الألقاب الثابت (مستند إلى بيانات أخطاء الإنتاج)
- مطابقة السلاسل بعد التسويّة (يزيل الشرطات، غير حساس لحالة الأحرف)
- مطابقة مسافة التحرير (العتبة ≤ 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 هي:
imagevideomusic3dttssttembeddingreranktranslation
category وrecommended_for موجودين، يجب أن يتطابقا تمامًا.
تدفق الوكيل الموصى به:
GET /v1/models?recommended_for=<scene>- اختر أول نموذج حيث
agent_preferences.<scene>.status == "ready" - نادِ نقطة النهاية صراحةً مع
model=<selected> - عند حدوث أخطاء عابرة فقط، أعد المحاولة مع النموذج التالي
ready
llms.txt
يتوفر نظرة عامة على واجهة برمجة التطبيقات بصيغة قابلة للقراءة آليًا في:- قالب النداء الأول مع مثال عملي يعمل
- أسماء النماذج الشائعة (مولدة ديناميكيًا من بيانات الاستخدام)
- كل نقاط النهاية الـ 12 للـ API
- معلمات التصفية لاكتشاف النماذج
- إرشادات التعامل مع الأخطاء
llms.txt قبل نداءهم الأول عادةً النجاح في المحاولة الأولى.
الاستخدام في كود الوكيل
بايثون (OpenAI SDK)
JavaScript (OpenAI SDK)
مبادئ التصميم
افشل بسرعة وبشكل إعلامي
تعيد الأخطاء فورًا كل البيانات التي يحتاجها الوكيل ليتصحيح نفسه.
لا توجيه تلقائي
لا تقوم الـ API باستبدال نموذج مختلف بصمت. الوكيل هو من يقرر.
اقتراحات مستندة إلى البيانات
جميع التوصيات تأتي من بيانات الإنتاج، وليس قوائم ثابتة مشفرة.
متوافق مع الإصدارات السابقة
جميع حقول الإرشاد اختيارية. العملاء الحاليون لن يلاحظوا أي اختلاف.