Chyby

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

Obálka

error.message je psáno pro člověka čtoucího log, error.type pojmenovává třídu selhání a error.code je stabilní identifikátor, podle kterého se větví — text zprávy není kontrakt. Kde má API strukturovaný detail (která politika, který endpoint, který model), dorazí 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" }
  }
}

type odpovídá statusu

Mapování níže je to, které API uplatňuje, generované ze stejné tabulky, která sestavuje jeho odpovědi.

HTTP type
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 rozejdou 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 objekt, nebo nesl neznámé pole.
400 invalid_residency Požadované umístění dat 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ělo neplatný formát.
400 missing_model Pole model je povinné.
400 missing_messages messages je vyžadováno a nesmí být prázdné.
400 missing_input input je vyžadován pro embeddings.
400 missing_name name je vyžadováno.
401 invalid_api_key Klíč chybí, je neznámý, odvolaný nebo vypršel.
402 budget_exceeded Denní rozpočet organizace byl vyčerpán. Zvyšte max_usd_per_day nebo počkejte, až se okno posune.
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 postrádá oprávnění, které tento koncový bod vyžaduje.
403 no_organization Přihlašovací údaj není přiřazen k organizaci.
403 model_denied Zásada organizace zakazuje tento model nebo jeho poskytovatele.
403 policy_violation Požadavek porušuje pravidlo zásad organizace.
403 retention_exceeds_policy Požadovaná doba uchování je delší, než zásada povoluje. Toto se kontroluje před čímkoli jiným v požadavku.
403 data_class_not_allowed data_class požadavku není zásadou 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 ho nelze volat.
404 not_found Trasa existuje, ale objekt ne.
404 unknown_route Na této cestě není namontována žádná trasa. Každý koncový bod OpenAI, který není uveden v části Koncové body, odpovídá tímto.
404 policy_not_found policy_id v llmeu nepatří této organizaci.
409 no_endpoint_for_policy Nic nesplňuje zásadu 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 rozpoznávání řeči, embeddingový nebo rerankerový model.
409 conflict Požadavek je v konfliktu s aktuálním stavem objektu.
413 request_too_large Tělo požadavku překročilo velikostní limit koncového bodu.
429 rate_limit_exceeded Bylo dosaženo limitu z tabulky omezení rychlosti. Zpráva uvádí čas obnovení okna.
500 internal_error Neočekávaná chyba na naší straně.
501 not_implemented Koncový bod není záměrně nabízen, nebo požadovaná funkce v tomto nasazení neexistuje.
501 retention_not_implemented Zásada povoluje jinou dobu uchování než nulu a implementována je pouze nula, takže požadavek je odmítnut, místo aby byl uložen.
501 unsupported_n n větší než 1 není podporováno.
502 upstream_error Žádný koncový bod nemohl po přepnutí na záložní 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 dohromady nepřipouštějí žádný endpoint a router odmítl tiše uvolnit kterýkoli z nich. Není to přechodné: opakování bez změny požadavku, politiky nebo umístění dat selže stejně. Chyba nese požadované umístění dat a trasování zaznamenává, proč byl každý endpoint odmítnut.

Chyby uvnitř streamu

Streamovaný požadavek, který selže po odeslání hlaviček, zapíše chybu jako poslední SSE rámec a poté zakončení, takže klient, který se drží formátu, 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]