خطاها
کدهای خطا و شکل پاکتهای خطا در API دانا
دانا خطاها را در دو شکل مختلف بازمیگرداند که به رابط استفادهشده بستگی دارد.
شکل خطا - رابط OpenAI
{
"error": {
"message": "توضیح خطا",
"type": "error_type",
"param": null,
"code": "error_code"
}
}شکل خطا - رابط Anthropic
{
"error": {
"type": "error_type",
"message": "توضیح خطا"
}
}کدهای HTTP
| کد | معنا |
|---|---|
200 | موفق |
400 | درخواست نامعتبر |
401 | احراز هویت ناموفق |
403 | دسترسی ممنوع |
404 | منبع پیدا نشد |
422 | دادههای ورودی نامعتبر |
429 | تعداد درخواست از حد مجاز بیشتر است |
500 | خطای داخلی سرور |
503 | سرویس در دسترس نیست |
خطاهای رایج
401 - احراز هویت ناموفق
{"error": {"message": "Invalid API key.", "type": "authentication_error", "param": null, "code": "invalid_api_key"}}علت: کلید API وجود ندارد، نامعتبر است، یا هدر Authorization ارسال نشده.
429 - Rate limit
{"error": {"message": "Rate limit exceeded.", "type": "rate_limit_error", "param": null, "code": "rate_limit_exceeded"}}علت: بیشتر از حد مجاز درخواست در بازه زمانی ارسال شده. برای جزئیات به محدودیتها مراجعه کنید.
400 - مدل نامعتبر
{"error": {"message": "The model `dana-7b` does not exist.", "type": "invalid_request_error", "param": "model", "code": "model_not_found"}}علت: شناسه مدل اشتباه است. از dana-1 یا dana-1-fast استفاده کنید.
503 - بهزودی (coming_soon)
رابط OpenAI:
{"error": {"message": "Dana model serving is coming soon.", "type": "api_error", "param": null, "code": "coming_soon"}}رابط Anthropic:
{"error": {"type": "api_error", "message": "Dana model serving is coming soon."}}هر دو HTTP 503 برمیگردانند. این پیام در دوره راهاندازی نمایش داده میشود.
بهترین روشها
- روی
429با exponential backoff تلاش مجدد کنید. - روی
503باcode === "coming_soon"تلاش مجدد نکنید؛ منتظر اعلام زمان راهاندازی باشید. - روی
5xx(غیر از503 coming_soon) با حداکثر ۳ تلاش مجدد Retry کنید. - خطاهای
4xx(به جز429) را در کد خود مدیریت کنید؛ تلاش مجدد کمکی نمیکند.