Chyby

Každý kód chyby, ktorým môže toto API odpovedať, HTTP stav, ktorý ho nesie, a čo s tým robiť. Obálka má tvar OpenAI s jedným prídavkom v mennom priestore.

Obálka

error.message je napísaná pre človeka čítajúceho log, error.type pomenúva triedu zlyhania a error.code je stabilný identifikátor, podľa ktorého sa vetví — text správy nie je kontrakt. Ak má API štruktúrovaný detail (ktorá politika, ktorý endpoint, ktorý model), prichádza v error.llmeu a nikdy nenahrádza tri štandardné polia.

{
  "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 nasleduje stav

Mapovanie nižšie je to, ktoré API uplatňuje, vygenerované z tej istej tabuľky, ktorá zostavuje jeho odpovede.

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, ktorý sa môže dostať ku klientovi. Test prechádza zdrojový kód API a zlyhá, keď sa táto tabuľka a kód nezhodujú v jednom či druhom smere, takže kód sa tu nedá vymyslieť ani tam pridať bez zdokumentovania.

HTTP code Čo to znamená a čo robiť
400 invalid_request Telo požiadavky neprešlo validáciou.
400 invalid_json Telo nebolo platné JSON.
400 invalid_llmeu Objekt llmeu nebol objektom alebo niesol neznáme pole.
400 invalid_residency Požadované umiestnenie údajov nie je jednou zo štyroch tried hostovania.
400 invalid_data_class Požadovaná data_class nie je jednou zo štyroch tried.
400 invalid_retention Požadovaná retencia nie je zero, 24h, 7d alebo 30d.
400 invalid_max_tokens max_tokens nebolo kladné celé číslo.
400 invalid_stream stream nebol boolean.
400 invalid_stop stop nebol ani reťazec, ani pole reťazcov.
400 invalid_role Niektorá správa niesla rolu mimo system, user, assistant a tool.
400 invalid_tools tools alebo tool_choice boli chybne naformátované.
400 missing_model Pole model je povinné.
400 missing_messages messages je povinné a nesmie byť prázdne.
400 missing_input input je povinné pre embeddingy.
400 missing_name name je povinné.
401 invalid_api_key Kľúč chýba, je neznámy, odvolaný alebo expirovaný.
402 budget_exceeded Denný rozpočet organizácie je vyčerpaný. Zvýšte max_usd_per_day alebo počkajte, kým sa okno neposunie.
403 api_key_required Požiadavka použila reláciu konzoly. Vytvorte API kľúč a pošlite ten namiesto toho.
403 insufficient_scope Kľúč je platný, ale nemá rozsah, ktorý tento endpoint vyžaduje.
403 no_organization Prihlasovací údaj nie je priradený k organizácii.
403 model_denied Politika organizácie odmieta tento model alebo jeho poskytovateľa.
403 policy_violation Požiadavka porušuje pravidlo organizačnej politiky.
403 retention_exceeds_policy Požadovaná retencia je dlhšia, než politika povoľuje. Toto sa kontroluje pred všetkým ostatným v požiadavke.
403 data_class_not_allowed data_class požiadavky nie je jedným z tých, ktoré politika povoľuje.
404 model_not_found Pre túto organizáciu neexistuje žiadny takýto model.
404 hosted_unavailable Model je v katalógu, ale nie je hostovaný na LLM EU, takže sa nedá volať.
404 not_found Trasa existuje, ale objekt nie.
404 unknown_route Na tejto ceste nie je zaregistrovaná žiadna trasa. Každý endpoint OpenAI, ktorý nie je uvedený v časti Endpoints, odpovedá takto.
404 policy_not_found policy_id v llmeu nepatrí tejto organizácii.
409 no_endpoint_for_policy Nič nevyhovuje politike a rezidencii súčasne a ani jedno sa potichu neuvoľňuje.
409 not_a_text_model Pomenovaný model nedokáže generovať text: je to model na rozpoznávanie reči, embedding alebo reranker.
409 conflict Požiadavka je v konflikte s aktuálnym stavom objektu.
413 request_too_large Telo prekročilo veľkostný limit endpointu.
429 rate_limit_exceeded Bol dosiahnutý limit z tabuľky rýchlostných limitov. Správa uvádza čas resetovania okna.
500 internal_error Neočakávaná chyba na našej strane.
501 not_implemented Endpoint sa zámerne neponúka alebo požadovaná funkcia v tomto nasadení neexistuje.
501 retention_not_implemented Politika povoľuje inú než nulovú retenciu a implementovaná je len nula, preto je požiadavka odmietnutá namiesto toho, aby bola uložená.
501 unsupported_n n väčšie ako 1 nie je podporované.
502 upstream_error Žiadny endpoint nedokázal obslúžiť požiadavku po failoveri. Trace zaznamenáva každý pokus.
502 stream_failed Stream zlyhal po tom, čo sa už spustil.

no_endpoint_for_policy znamená, že produkt funguje

409 s týmto kódom znamená, že politika a požiadavka spolu nepripúšťajú žiadny endpoint a router odmietol ticho uvoľniť jedno alebo druhé. Nie je to prechodné: opakovanie bez zmeny požiadavky, politiky alebo umiestnenia údajov zlyhá rovnako. Chyba nesie požadované umiestnenie údajov a trasa (trace) zaznamenáva, prečo bol každý endpoint odmietnutý.

Chyby v rámci streamu

Streamovacia požiadavka, ktorá zlyhá po odoslaní hlavičiek, zapíše chybu ako posledný SSE rámec a potom terminátor, takže klient, ktorý dodržiava formát, vidí zlyhanie namiesto skráteného úspechu.

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

data: [DONE]