الأخطاء وحدود المعدل
ماذا يعني كل رمز حالة وماذا تفعل حياله.
صيغة الخطأ
تعود الأخطاء بصيغة JSON بتنسيق أخطاء OpenAI. تبيّن message ما حدث، و code معرّف ثابت قابل للقراءة آليًا، ويُلحق معرّف طلب بكل رسالة:
{
"error": {
"message": "Model \"gpt-5.5-typo\" is not offered here. Check the model name for typos, or switch to a model from our supported list. (request id: 20260705...)",
"type": "new_api_error",
"code": "model_not_found"
}
}أدرج دائمًا معرّف الطلب عند التواصل مع الدعم أو فتح تذكرة على Discord. فهو يتيح لنا العثور على طلبك الدقيق في السجلات.
رموز الحالة في لمحة
رموز الحالة التي ستصادفها فعلًا:
| الرمز | المعنى | ما العمل |
|---|---|---|
400 | طلب غير صالح: قيم معاملات خاطئة (مثل max_tokens أدنى من الحد الأدنى للنموذج) أو مطالبة محجوبة بواسطة الإشراف على المحتوى. | أصلح الطلب. إعادة المحاولة دون تغيير ستفشل مجددًا. |
401 | مشكلة في المفتاح: مفتاح API مفقود أو غير صالح أو منتهي الصلاحية أو معطّل. | تحقق من ترويسة Authorization ومن مفتاحك في صفحة الرموز المميزة. |
402 | حد الإنفاق الخاص بهذا المفتاح قد استُنفد. | ارفع حد المفتاح أو أنشئ مفتاحًا جديدًا. |
403 | تم رفض الوصول: رصيد الحساب فارغ، أو النموذج غير مسموح به لهذا المفتاح، أو عنوان IP الخاص بك ليس في قائمة السماح للمفتاح. | اشحن الرصيد، أو تحقق من قيود المفتاح على النموذج و IP. |
413 | الطلب أكبر من حد التجربة المجانية لهذا النموذج. | قصّر المطالبة أو بدّل إلى النموذج المدفوع. |
429 | انطلق حد معدل (انظر الأنواع أدناه). | انتظر عدد الثواني في Retry-After، ثم أعد المحاولة أو بدّل النموذج. |
500 | فشل شيء ما من جانبنا أو لدى المزود في المنبع. | أعد المحاولة بعد انتظار قصير؛ أخطاء 500 المستمرة تستحق الإبلاغ. |
503 | كل مزودي النموذج مشغولون، أو اسم النموذج غير موجود. | اقرأ الرسالة: الانشغال يُحل خلال دقائق، أما الخطأ الإملائي فلا. |
503: مشغول مقابل نموذج غير معروف
تتشارك حالتان مختلفتان تمامًا الرمز 503. الأولى ازدحام مؤقت:
HTTP/1.1 503 Service Unavailable
{
"error": {
"message": "All providers for model \"kimi-k2.6:free\" are busy right now (they hit their rate limit). This is not a spelling error. Please try again in a little while, or switch to another model. (request id: 20260705...)",
"type": "new_api_error",
"code": "get_channel_failed"
}
}الرمز get_channel_failed (كل المزودين مشغولون) يعني أن كل مزود مجاني لذلك النموذج محدود المعدل لحظيًا. يتعافى هذا تلقائيًا خلال دقائق: أعد المحاولة أو بدّل النموذج. الرمز model_not_found (غير مقدَّم هنا) يعني أن اسم النموذج نفسه لا يُحلّل، وإعادة المحاولة لن تفيد أبدًا. تحقق من الأخطاء الإملائية أو ابحث عن الاسم الحالي في الكتالوج.
تعامل مع 503 المصحوب بـ get_channel_failed على أنه إعادة محاولة أو تجاوز، ومع 503 المصحوب بـ model_not_found على أنه خطأ صارم في عميلك.
أنواع حدود المعدل
يمكن أن يأتي 429 من عدة طبقات:
- حدّنا للنماذج المجانية: طلب واحد في الدقيقة لكل نموذج مجاني لكل مستخدم. حدّ عدل كي تصمد المجمّعات المشتركة في ساعات الذروة.
- حدود المزود في المنبع: بلغ المزود خلف نموذج مجاني حدّه الخاص ("temporarily rate-limited upstream"، أي محدود المعدل مؤقتًا في المنبع).
- ميزانيات رموز يومية على بعض المجمّعات المجانية؛ تُعاد تهيئتها عند منتصف الليل بتوقيت UTC.
- حدود الرموز في الدقيقة التي تنطلق مع المطالبات الكبيرة جدًا.
- حد تزامن لكل مستخدم عندما يعمل عدد كبير جدًا من الطلبات على التوازي.
لا توجد على النماذج المدفوعة حدود معدل يفرضها UnoRouter.
حد النماذج المجانية بالتفصيل
عندما ينطلق حدّنا البالغ 1 في الدقيقة تحصل على ترويسات حد معدل قياسية، بحيث يمكن للعملاء التراجع بدقة:
HTTP/1.1 429 Too Many Requests
Retry-After: 38
X-RateLimit-Limit: 1
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1783198478قيمة Retry-After ديناميكية: هي الثواني المتبقية فعلًا في نافذتك، لا 60 ثابتة. كما تذكر رسالة الخطأ التوأم المدفوع للنموذج، الذي لا حدّ له.
حدود حجم التجربة
تُقدَّم بعض النماذج المدفوعة عادةً مجانًا بحد على حجم الطلب. تحصل المطالبات المفرطة الحجم على 413 مع رسالة مثل: Request body too large for gpt-4.1 model. Max size: 8000 tokens.
ينطبق الحد على مسار التجربة المجانية فقط؛ أما النموذج المدفوع فيقبل مطالبات بالطول الكامل.
إرشادات إعادة المحاولة
احترم Retry-After عند 429. أعد المحاولة على 503 get_channel_failed بعد انتظار قصير، أو ارجع إلى نموذج آخر. لا تعد محاولة أخطاء الفئة 400، فهي حتمية.
لا تُفوتر الطلبات الفاشلة والمرفوضة: يُعاد أي حجز مسبق على رصيدك عندما يخطئ الطلب.