تنسيق استجابة الخطأ
كل الأخطاء تعيد تنسيق JSON ثابت مع تلميحات Agent-First اختيارية:message, type, code, param) موجودة دائمًا. حقول التلميح (did_you_mean, suggestions, hint, retryable, retry_after, balance_usd, estimated_cost_usd) هي امتدادات اختيارية لتصحيح ذاتي لوكلاء الذكاء الاصطناعي. راجع دليل Agent-First API للتفاصيل.
تستخدم نقاط النهاية المتوافقة مع OpenAI أنواع أخطاء بوابة LemonData المستقرة. تستخدم نقاط النهاية المتوافقة مع Anthropic وGemini عائلات أخطائها وشكل الاستجابات الخاصة بها.
رموز حالة HTTP
| Code | Description |
|---|---|
| 400 | طلب خاطئ - معلمات غير صالحة |
| 401 | غير مصرح - مفتاح API مفقود أو غير صالح |
| 402 | يتطلب دفع - رصيد غير كافٍ |
| 403 | ممنوع - الوصول مرفوض أو النموذج غير مسموح به |
| 404 | غير موجود - النموذج أو المورد غير موجود |
| 413 | الحِمل أكبر من المسموح - تجاوز حجم الإدخال أو الملف |
| 429 | عدد الطلبات أكبر من المسموح - تجاوز حد المعدل |
| 500 | خطأ داخلي في الخادم |
| 502 | بوابة خاطئة - خطأ من المزود الأعلى |
| 503 | الخدمة غير متاحة - الخدمة غير متاحة مؤقتًا |
| 504 | نفاذ مهلة البوابة - انقضت مهلة الطلب |
أنواع الأخطاء
أخطاء المصادقة (401)
| Type | Code | Description |
|---|---|---|
invalid_api_key | invalid_api_key | مفتاح API مفقود أو غير صالح |
expired_api_key | expired_api_key | تم إبطال مفتاح API |
أخطاء الدفع (402)
| Type | Code | Description |
|---|---|---|
insufficient_balance | insufficient_balance | رصيد الحساب منخفض جدًا (نقاط النهاية المتوافقة مع OpenAI) |
insufficient_balance_error | insufficient_balance | رصيد الحساب منخفض جدًا (نقاط النهاية المتوافقة مع Anthropic) |
quota_exceeded | quota_exceeded | تم الوصول إلى حد استخدام مفتاح API |
أخطاء الوصول (403)
| Type | Code | Description |
|---|---|---|
access_denied | access_denied | تم رفض الوصول إلى المورد |
access_denied | model_not_allowed | النموذج غير مسموح به لمفتاح API هذا |
أخطاء التحقق (400)
| Type | Description |
|---|---|
invalid_request_error | معلمات الطلب غير صالحة |
context_length_exceeded | الإدخال طويل جدًا بالنسبة لطول سياق النموذج |
model_not_found | النموذج المطلوب غير متوفر في العقدة العامة الحالية |
model_not_found.
أخطاء حد المعدل (429)
عند تجاوز حدود المعدل:Retry-After وحقل retry_after إلى عدد الثواني الدقيق للانتظار قبل إعادة المحاولة.
الحِمل أكبر من المسموح (413)
عندما يتجاوز حجم الإدخال أو الملف الحدود:- ملف صورة كبير جدًا (الحد الأقصى 20MB)
- ملف صوتي كبير جدًا (الحد الأقصى 25MB)
- نص الإدخال يتجاوز طول سياق النموذج
أخطاء المزود الأعلى (502، 503)
| Type | Description |
|---|---|
upstream_error | أعاد المزود خطأً |
all_channels_failed | لا توجد مزودات متاحة |
timeout_error | انتهت مهلة الطلب |
معالجة الأخطاء في Python
معالجة الأخطاء في JavaScript
أفضل الممارسات
تنفيذ التراجع الأسي
تنفيذ التراجع الأسي
عند تقييد المعدل، انتظر فترات أطول تدريجيًا بين محاولات إعادة المحاولة:
تعيين مهلات زمنية
تعيين مهلات زمنية
دائمًا قم بتعيين مهلات زمنية معقولة لتجنب الطلبات المعلقة:
تسجيل الأخطاء لأغراض التصحيح
تسجيل الأخطاء لأغراض التصحيح
سجّل استجابة الخطأ الكاملة بما في ذلك معرف الطلب للدعم:
معالجة الأخطاء الخاصة بالنماذج
معالجة الأخطاء الخاصة بالنماذج
بعض النماذج لها متطلبات محددة (مثل max tokens، تنسيقات الصور).
تحقق من صحة المدخلات قبل إرسال الطلبات.