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