Chyby

Každý kód chyby, kterým může toto API odpovědět, HTTP status, který jej nese, a co s tím dělat. Obálka má tvar OpenAI s jedním přídavkem ve jmenném prostoru.

Obálka

error.message je určena pro člověka čtoucího log, error.type pojmenovává třídu selhání a error.code je stabilní identifikátor pro větvení — text zprávy není smlouva. Tam, kde má API strukturovaný detail (která politika, který koncový bod, který model), přichází v error.llmeu a nikdy nenahrazuje tři standardní pole.

{
  "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" }
  }
}

typ následuje stav

Níže uvedené mapování je to, které API používá; pochází ze stejné tabulky, ze které sestavuje své odpovědi.

HTTP typ
400invalid_request_error
401authentication_error
402insufficient_quota
403permission_error
404not_found_error
409conflict_error
413invalid_request_error
422invalid_request_error
429rate_limit_error
500api_error
501api_error
502api_error
503api_error

Kódy

Každý kód, který se může dostat ke klientovi. Test prochází zdrojový kód API a selže, když se tato tabulka a kód rozcházejí v kterémkoli směru, takže kód nelze vymyslet zde ani přidat tam, aniž by byl zdokumentován.

HTTP code Co znamená a co dělat
400 invalid_request Tělo požadavku neprošlo validací.
400 invalid_json Tělo nebylo platné JSON.
400 invalid_llmeu Objekt llmeu nebyl objektem, nebo obsahoval neznámé pole.
400 invalid_residency Požadovaná rezidence není jednou ze čtyř tříd hostování.
400 invalid_data_class Požadovaná data_class není jednou ze čtyř tříd.
400 invalid_retention Požadovaná retence není zero, 24h, 7d nebo 30d.
400 invalid_max_tokens max_tokens nebyl kladné celé číslo.
400 invalid_stream stream nebyl boolean.
400 invalid_stop stop nebyl ani řetězec, ani pole řetězců.
400 invalid_role Zpráva nesla roli mimo system, user, assistant a tool.
400 invalid_tools tools nebo tool_choice měly neplatný formát.
400 missing_model Pole model je povinné.
400 missing_messages messages je povinné a nesmí být prázdné.
400 missing_input input je vyžadován pro embeddings.
400 missing_name name je povinné.
401 invalid_api_key Klíč chybí, je neznámý, odvolaný nebo jeho platnost vypršela.
402 budget_exceeded Denní rozpočet organizace je vyčerpán. Zvyšte max_usd_per_day nebo počkejte na posun okna.
403 api_key_required Požadavek použil konzolovou relaci. Vytvořte API klíč a pošlete místo toho ten.
403 insufficient_scope Klíč je platný, ale nemá rozsah, který tento endpoint vyžaduje.
403 no_organization Přihlašovací údaj není přiřazen k organizaci.
403 model_denied Politika organizace zakazuje tento model nebo jeho poskytovatele.
403 policy_violation Požadavek porušuje pravidlo zásad organizace.
403 retention_exceeds_policy Požadovaná retence je delší, než politika povoluje. Toto se kontroluje před čímkoli jiným v požadavku.
403 data_class_not_allowed data_class požadavku není politikou povolena.
404 model_not_found Pro tuto organizaci neexistuje žádný takový model.
404 hosted_unavailable Model je v katalogu, ale není hostován na LLM EU, takže jej nelze volat.
404 not_found Trasa existuje, ale objekt ne.
404 unknown_route Na této cestě není připojena žádná trasa. Každý endpoint OpenAI, který není uveden pod Endpoints, odpovídá tímto.
404 policy_not_found policy_id v llmeu nepatří této organizaci.
409 no_endpoint_for_policy Nic nesplňuje politiku a rezidenci společně a ani jedno není tiše uvolněno.
409 not_a_text_model Uvedený model nemůže generovat text: jde o model pro rozpoznávání řeči, embedding nebo reranker.
409 conflict Požadavek je v konfliktu se současným stavem objektu.
413 request_too_large Tělo překročilo velikostní limit endpointu.
429 rate_limit_exceeded Byl dosažen limit z tabulky omezení rychlosti. Zpráva uvádí čas resetu okna.
500 internal_error Neočekávaná chyba na naší straně.
501 not_implemented Endpoint není záměrně nabízen, nebo požadovaná funkce v tomto nasazení neexistuje.
501 retention_not_implemented Zásada umožňuje retenci jinou než nula, ale implementována je pouze nula, proto je požadavek odmítnut, místo aby byl uložen.
501 unsupported_n n větší než 1 není podporováno.
502 upstream_error Žádný endpoint nemohl po failoveru obsloužit požadavek. Trasování zaznamenává každý pokus.
502 stream_failed Stream selhal poté, co již začal.

no_endpoint_for_policy znamená, že produkt funguje

409 s tímto kódem znamená, že politika a požadavek společně nepřipouštějí žádný endpoint a router odmítl tiše uvolnit ani jeden z nich. Není to přechodné: opakování bez změny požadavku, politiky nebo rezidence selže stejným způsobem. Chyba nese požadovanou rezidenci a trace zaznamenává, proč byl každý endpoint odmítnut.

Chyby uvnitř streamu

Streamovací požadavek, který selže po odeslání hlaviček, zapíše chybu jako poslední SSE rámec a poté terminátor, takže klient, který dodržuje formát, vidí selhání místo zkráceného úspěchu.

data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}

data: [DONE]