Hatalar
Bir şey ters gittiğinde Qevron, uygun bir HTTP durum kodu ve açıklayıcı bir JSON gövdesi döndürür.
Hata biçimi (OpenAI uyumlu)
json
{
"error": {
"message": "İsteği işlerken bir hata oluştu",
"type": "qevron_error",
"code": "model_not_found",
"param": "model"
}
}| Alan | Açıklama |
|---|---|
error.message | İnsan tarafından okunabilir açıklama |
error.type | Hata kategorisi (örn. qevron_error, upstream_error) |
error.code | Makine tarafından okunabilir kod (örn. model_not_found) |
error.param | Hataya neden olan parametre (varsa) |
Bazı yanıtlarda izleme için bir qevron istek kimliği alanı da bulunur.
HTTP durum kodları
| Kod | Anlamı | Tipik neden |
|---|---|---|
400 | Bad Request | Geçersiz istek biçimi veya eksik alan |
401 | Unauthorized | Eksik/geçersiz API anahtarı |
403 | Forbidden | IP kısıtlaması, devre dışı grup veya yetersiz bakiye |
404 | Not Found | Model veya kaynak bulunamadı |
429 | Too Many Requests | Hız limiti (RPM/TPM) aşıldı |
500 | Internal Server Error | Sunucu hatası |
502 | Bad Gateway | Üst sağlayıcı hatası |
503 | Service Unavailable | Tüm kanallar tükendi / aşırı yük |
Sağlayıcıya özgü hata biçimleri
OpenAI dışındaki uç noktalar, ilgili sağlayıcının hata biçimini kullanır.
Anthropic (/v1/messages):
json
{ "type": "error", "error": { "type": "invalid_request_error", "message": "..." } }Gemini (/v1beta/...):
json
{ "error": { "code": 400, "message": "...", "status": "INVALID_ARGUMENT" } }Sık karşılaşılan hatalar
| Belirti | Olası neden | Çözüm |
|---|---|---|
401 | Anahtar eksik/yanlış | Authorization: Bearer sk-... doğru mu? |
404 model_not_found | Model adı yanlış veya erişiminiz yok | /v1/models ile listeleyin |
429 | Hız limiti | X-RateLimit-Reset-* zamanına kadar bekleyin |
403 | Kota bitti / IP engeli | Kotanızı ve IP kısıtlamasını kontrol edin |
TIP
Yeniden denenebilir hatalarda (429, 502, 503) kısa bir bekleme ile (exponential backoff) tekrar deneyin. Qevron zaten kanallar arasında otomatik yeniden deneme yapar.