BEATRICE Docs
Sezioni

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"
  }
}
HTTPcodeQuandoCosa fare
400invalid_requestParametri non validi, n diverso da 1, max_tokens oltre il massimo, contesto troppo lungoCorreggi la richiesta (vedi param e message)
401missing_api_keyManca la chiaveAggiungi Authorization: Bearer …
401invalid_api_keyChiave sbagliata, revocata o scadutaCrea una nuova chiave nella console
403organization_inactiveOrganizzazione in lista d’attesa o sospesaAttendi l’attivazione o scrivici
404model_not_foundModello inesistente o non incluso nel tuo pianoControlla GET /v1/models
429rate_limit_exceededQuota delle ultime 5 ore esaurita, oppure troppe richieste contemporaneeRiprova dopo Retry-After secondi
429insufficient_quotaQuota del mese esauritaSi azzera il primo del mese; vedi la console
502upstream_errorErrore del modelloRiprova; se si ripete, scrivici con x-request-id
503server_overloadedCoda piena o attesa troppo lungaRiprova dopo Retry-After (gli SDK lo fanno da soli)
503model_unavailableModello momentaneamente non disponibileRiprova dopo Retry-After
503safety_unavailableIl controllo delle linee rosse non risponde: per sicurezza non procediamoRiprova 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.

l'amor che move il sole e l'altre stelle