Hibák
Minden hibakód, amellyel ez az API válaszolhat, a HTTP állapotkód, amely hordozza, és hogy mit kell tenni vele kapcsolatban. A boríték OpenAI formájú, egy névtérbe ágyazott kiegészítéssel.
A boríték
error.message egy naplót olvasó személy számára íródott, error.type megnevezi a hiba osztályát, és error.code a stabil azonosító, amelyre elágazhat — az üzenet szövege nem szerződés. Ahol az API strukturált részletekkel rendelkezik (melyik irányelv, melyik végpont, melyik modell), az error.llmeu-ban érkezik, és soha nem helyettesíti a három szabványos mezőt.
{
"error": {
"message": "No endpoint satisfies residency eu-owned. Residency is never relaxed silently.",
"type": "conflict_error",
"code": "no_endpoint_for_policy",
"llmeu": { "requested": "llmeu-auto" }
}
}
A típus a státuszt követi
Az alábbi leképezés az, amelyet az API alkalmaz, ugyanabból a táblából generálva, amely a válaszait felépíti.
| HTTP | típus |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 402 | insufficient_quota |
| 403 | permission_error |
| 404 | not_found_error |
| 409 | conflict_error |
| 413 | invalid_request_error |
| 422 | invalid_request_error |
| 429 | rate_limit_error |
| 500 | api_error |
| 501 | api_error |
| 502 | api_error |
| 503 | api_error |
Kódok
Minden kód, amely eljuthat egy klienshez. Egy teszt bejárja az API forrását, és elbukik, ha ez a tábla és a kód bármelyik irányban eltér, így egy kód nem található ki itt, és nem adható hozzá ott anélkül, hogy dokumentálva lenne.
| HTTP | code | Mit jelent, és mit kell tenni |
|---|---|---|
| 400 | invalid_request | A kérés törzse nem ment át az érvényesítésen. |
| 400 | invalid_json | A törzs nem érvényes JSON volt. |
| 400 | invalid_llmeu | Az llmeu objektum nem objektum volt, vagy ismeretlen mezőt tartalmazott. |
| 400 | invalid_residency | A kért rezidencia nem a négy hosting osztály egyike. |
| 400 | invalid_data_class | A kért data_class nem a négy osztály egyike. |
| 400 | invalid_retention | A kért megőrzés nem zero, 24h, 7d vagy 30d. |
| 400 | invalid_max_tokens | A max_tokens nem pozitív egész szám volt. |
| 400 | invalid_stream | A stream nem logikai érték volt. |
| 400 | invalid_stop | A stop nem volt sem sztring, sem sztringek tömbje. |
| 400 | invalid_role | Egy üzenet szerepköre a system, user, assistant és tool körén kívül esett. |
| 400 | invalid_tools | A tools vagy a tool_choice hibás formátumú volt. |
| 400 | missing_model | A model mező kötelező. |
| 400 | missing_messages | A messages kötelező, és nem lehet üres. |
| 400 | missing_input | Az input kötelező az embeddingshez. |
| 400 | missing_name | A name kötelező. |
| 401 | invalid_api_key | A kulcs hiányzik, ismeretlen, visszavont vagy lejárt. |
| 402 | budget_exceeded | A szervezet napi kerete elfogyott. Növelje a max_usd_per_day értékét, vagy várja meg, amíg az időablak továbbfordul. |
| 403 | api_key_required | A kérés konzolmunkamenetet használt. Hozzon létre API-kulcsot, és küldje azt helyette. |
| 403 | insufficient_scope | A kulcs érvényes, de hiányzik a végponthoz szükséges hatókör. |
| 403 | no_organization | A hitelesítő adat nincs szervezethez csatolva. |
| 403 | model_denied | A szervezet szabályzata megtiltja ezt a modellt vagy annak szolgáltatóját. |
| 403 | policy_violation | A kérés megsérti a szervezeti irányelv egy szabályát. |
| 403 | retention_exceeds_policy | A kért megőrzés hosszabb, mint amit a szabályzat engedélyez. Ezt a rendszer a kérés bármely más jellemzője előtt ellenőrzi. |
| 403 | data_class_not_allowed | A kérés data_class mezője nem a szabályzat által engedélyezettek egyike. |
| 404 | model_not_found | Nincs ilyen modell ehhez a szervezethez. |
| 404 | hosted_unavailable | A modell szerepel a katalógusban, de nincs az LLM EU-n üzemeltetve, ezért nem hívható. |
| 404 | not_found | Az útvonal létezik, de az objektum nem. |
| 404 | unknown_route | Ezen az elérési úton nincs útvonal csatlakoztatva. Minden OpenAI végpont, amely nincs a Végpontok alatt felsorolva, ezt adja válaszul. |
| 404 | policy_not_found | Az llmeu policy_id mezője nem ehhez a szervezethez tartozik. |
| 409 | no_endpoint_for_policy | Semmi sem teljesíti egyszerre a szabályzatot és a rezidenciát, és egyik sem enyhül csendben. |
| 409 | not_a_text_model | A megnevezett modell nem tud szöveget generálni: beszédfelismerő, beágyazó vagy újrarangsoroló modell. |
| 409 | conflict | A kérés ütközik az objektum aktuális állapotával. |
| 413 | request_too_large | A törzs meghaladta a végpont méretkorlátját. |
| 429 | rate_limit_exceeded | Elérte a korlátot a sebességkorlát-táblázatból. Az üzenet megnevezi az ablak visszaállítási idejét. |
| 500 | internal_error | Váratlan hiba a mi oldalunkon. |
| 501 | not_implemented | A végpont szándékosan nincs felkínálva, vagy a kért képesség nem létezik ezen a telepítésen. |
| 501 | retention_not_implemented | A szabályzat nullától eltérő megőrzést tesz lehetővé, és csak a nulla van implementálva, ezért a kérés elutasításra kerül a tárolás helyett. |
| 501 | unsupported_n | Az 1-nél nagyobb n nem támogatott. |
| 502 | upstream_error | A failover után egyetlen végpont sem tudta kiszolgálni a kérést. A nyomkövetés minden kísérletet rögzít. |
| 502 | stream_failed | A stream meghibásodott, miután már elindult. |
A no_endpoint_for_policy a termék működését jelenti
A 409 ezzel a kóddal azt jelenti, hogy a szabályzat és a kérés együtt nem enged meg egyetlen végpontot sem, és az útválasztó megtagadta, hogy bármelyiket is csendben enyhítse. Ez nem átmeneti: ha a kérést, a szabályzatot vagy a rezidenciát változatlanul hagyva újrapróbálja, ugyanígy meghiúsul. A hiba tartalmazza a kért rezidenciát, a nyomkövetés pedig rögzíti, hogy miért lett elutasítva az egyes végpontok.
Hibák egy streamen belül
Egy streamelési kérés, amely a fejlécek elküldése után hiúsul meg, a hibát egy záró SSE-keretként írja ki, majd a lezárót, így a formátumot követő kliens sikertelenséget lát a csonkolt siker helyett.
data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}
data: [DONE]