Errori
Gli errori seguono il formato OpenAI, così gli SDK li trasformano nelle loro eccezioni (AuthenticationError, RateLimitError e così via):
{
"error": {
"message": "…",
"type": "rate_limit_error",
"param": null,
"code": "rate_limit_exceeded"
}
} | HTTP | code | Quando | Cosa fare |
|---|---|---|---|
| 400 | invalid_request | Parametri non validi, n diverso da 1, max_tokens oltre il massimo, contesto troppo lungo | Correggi la richiesta (vedi param e message) |
| 401 | missing_api_key | Manca la chiave | Aggiungi Authorization: Bearer … |
| 401 | invalid_api_key | Chiave sbagliata, revocata o scaduta | Crea una nuova chiave nella console |
| 403 | organization_inactive | Organizzazione in lista d’attesa o sospesa | Attendi l’attivazione o scrivici |
| 404 | model_not_found | Modello inesistente o non incluso nel tuo piano | Controlla GET /v1/models |
| 429 | rate_limit_exceeded | Quota delle ultime 5 ore esaurita, oppure troppe richieste contemporanee | Riprova dopo Retry-After secondi |
| 429 | insufficient_quota | Quota del mese esaurita | Si azzera il primo del mese; vedi la console |
| 502 | upstream_error | Errore del modello | Riprova; se si ripete, scrivici con x-request-id |
| 503 | server_overloaded | Coda piena o attesa troppo lunga | Riprova dopo Retry-After (gli SDK lo fanno da soli) |
| 503 | model_unavailable | Modello momentaneamente non disponibile | Riprova dopo Retry-After |
| 503 | safety_unavailable | Il controllo delle linee rosse non risponde: per sicurezza non procediamo | Riprova tra poco |
Riprovare
- Ogni 429 e 503 porta
Retry-After(secondi). - Quando una quota è esaurita aggiungiamo
x-should-retry: false: gli SDK di OpenAI non riprovano da soli, perché l’attesa può essere di ore. - Per i 503 gli SDK riprovano con un’attesa crescente: va bene così.
- Se gli errori 5xx durano, controlla status.beatriceai.it: lì trovi lo stato di API, modello e accesso, e gli incidenti in corso.
Rifiuti sulle linee rosse
Non sono errori: la risposta è normale (HTTP 200) con finish_reason: "content_filter" e un testo che spiega quale regola si applica. Vedi Linee rosse.