Hibák
Minden hibakód, amellyel ez az API válaszolhat, a hozzá tartozó HTTP-státusz, és hogy mit kell tenni. A burkológép OpenAI-formátumú, egy névtérbe helyezett kiegészítéssel.
A burkológép
Az error.message egy naplót olvasó személynek íródott, az error.type megnevezi a hiba osztályát, és az error.code a stabil azonosító, amelyre elágazhat — az üzenet szövege nem szerződés. Ha az API strukturált részletekkel rendelkezik (melyik szabályzat, melyik végpont, melyik modell), azok az error.llmeu mezőben érkeznek, és soha nem helyettesítik 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 type a státuszt követi
Az alábbi leképezés az, amelyet az API alkalmaz, ugyanabból a táblából előállítva, amely a válaszait építi.
| HTTP | type |
|---|---|
| 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 ügyfélhez. Egy teszt bejárja az API forráskódját, és meghiúsul, ha ez a tábla és a kód bármelyik irányban ellentmond egymásnak, í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éstörzs érvényesítése sikertelen. |
| 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 üzemeltetési 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 nulla, 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 sem karakterlánc, sem karakterláncok tömbje nem volt. |
| 400 | invalid_role | Egy üzenet a system, user, assistant és tool szerepkörökön kívüli szerepkört tartalmazott. |
| 400 | invalid_tools | A tools vagy a tool_choice formátuma hibás. |
| 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ő a beágyazásokhoz. |
| 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 az ablak fordulását. |
| 403 | api_key_required | A kérés konzol-munkamenetet használt. Hozzon létre egy API-kulcsot, és inkább azt küldje. |
| 403 | insufficient_scope | A kulcs érvényes, de hiányzik róla a végponthoz szükséges hatókör. |
| 403 | no_organization | A hitelesítő adat nincs szervezethez rendelve. |
| 403 | model_denied | A szervezet házirendje tiltja ezt a modellt vagy annak szolgáltatóját. |
| 403 | policy_violation | A kérés megsérti a szervezeti szabályzat egy szabályát. |
| 403 | retention_exceeds_policy | A kért megőrzési idő hosszabb, mint amit a házirend engedélyez. Ezt a rendszer a kérés minden más eleménél előbb ellenőrzi. |
| 403 | data_class_not_allowed | A kérés data_class értéke nem tartozik a házirend által engedélyezettek közé. |
| 404 | model_not_found | Nincs ilyen modell ennél a szervezetnél. |
| 404 | hosted_unavailable | A modell szerepel a katalógusban, de nincs hosztolva az LLM EU-n, ezért nem hívható. |
| 404 | not_found | Az útvonal létezik, de az objektum nem. |
| 404 | unknown_route | Ezen az útvonalon nincs csatolva útvonal. Minden olyan OpenAI-végpont ezt válaszolja, amely nem szerepel a Végpontok alatt. |
| 404 | policy_not_found | Az llmeu-ban szereplő policy_id nem ehhez a szervezethez tartozik. |
| 409 | no_endpoint_for_policy | Semmi sem felel meg egyszerre a házirendnek és az adattárolási helynek, é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 jelenlegi állapotával. |
| 413 | request_too_large | A törzs meghaladta a végpont mérethatárát. |
| 429 | rate_limit_exceeded | A sebességkorlát-táblából egy korlát elérve. Az üzenet megnevezi az ablak visszaállási idejét. |
| 500 | internal_error | Váratlan hiba a mi oldalunkon. |
| 501 | not_implemented | A végpont szándékosan nincs kínálva, vagy a kért képesség nem létezik ezen a telepítésen. |
| 501 | retention_not_implemented | A házirend nullától eltérő megőrzést engedélyez, de csak a nulla van megvalósítva, 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 | Átváltás 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 meghiúsult, miután már elindult. |
a no_endpoint_for_policy a termék működése
A 409-es kód ezzel a hibakó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 bármelyik csendes enyhítését. Ez nem átmeneti: újrapróbálva anélkül, hogy a kérést, a szabályzatot vagy a rezidenciát megváltoztatná, ugyanígy meghiúsul. A hiba tartalmazza a kért rezidenciát, és a nyomkövetés rögzíti, hogy miért utasíttatott el minden végpont.
Hibák egy streamen belül
Egy streamelő kérés, amely a fejlécek elküldése után meghiúsul, a hibát egy utolsó SSE-keretként írja ki, majd a lezárót, így a formátumot követő ügyfél egy csonka siker helyett egy hibát lát.
data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}
data: [DONE]