Greške
Svaki kod greške s kojim ovaj API može odgovoriti, HTTP status koji ga nosi i što učiniti u vezi s tim. Omotnica je OpenAI oblika s jednim dodanim imenskim prostorom.
Omotnica
error.message napisan je za osobu koja čita zapisnik, error.type imenuje klasu kvara, a error.code je stabilni identifikator po kojem se grana — tekst poruke nije ugovor. Gdje API ima strukturirani detalj (koje pravilo, koji endpoint, koji model) dolazi u error.llmeu i nikada ne zamjenjuje tri standardna polja.
{
"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" }
}
}
tip prati status
Preslikavanje u nastavku je ono koje API primjenjuje, izvedeno iz iste tablice koja gradi njegove odgovore.
| HTTP | tip |
|---|---|
| 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 |
Kodovi
Svaki kod koji može doći do klijenta. Test prolazi kroz izvorni kod API-ja i pada kada se ova tablica i kod ne slažu u bilo kojem smjeru, pa se kod ne može izmisliti ovdje niti dodati ondje bez dokumentiranja.
| HTTP | code | Što znači i što učiniti |
|---|---|---|
| 400 | invalid_request | Tijelo zahtjeva nije prošlo validaciju. |
| 400 | invalid_json | Tijelo nije valjani JSON. |
| 400 | invalid_llmeu | Objekt llmeu nije bio objekt ili je sadržavao nepoznato polje. |
| 400 | invalid_residency | Zatražena rezidentnost nije jedna od četiriju klasa hostinga. |
| 400 | invalid_data_class | Zatraženi data_class nije jedna od četiriju klasa. |
| 400 | invalid_retention | Zatraženo zadržavanje nije nula, 24h, 7d ili 30d. |
| 400 | invalid_max_tokens | max_tokens nije bio pozitivan cijeli broj. |
| 400 | invalid_stream | stream nije bio boolean. |
| 400 | invalid_stop | stop nije bio ni string ni polje stringova. |
| 400 | invalid_role | Poruka je sadržavala ulogu izvan system, user, assistant i tool. |
| 400 | invalid_tools | tools ili tool_choice nisu bili ispravno oblikovani. |
| 400 | missing_model | Polje model je obavezno. |
| 400 | missing_messages | messages je obavezno i ne smije biti prazno. |
| 400 | missing_input | input je obavezan za embeddings. |
| 400 | missing_name | name je obavezan. |
| 401 | invalid_api_key | Ključ nedostaje, nepoznat je, opozvan ili istekao. |
| 402 | budget_exceeded | Dnevni proračun organizacije je potrošen. Povećajte max_usd_per_day ili pričekajte da se prozor okrene. |
| 403 | api_key_required | Zahtjev je koristio sesiju konzole. Izradite API ključ i pošaljite njega umjesto toga. |
| 403 | insufficient_scope | Ključ je valjan, ali nema opseg koji ovaj endpoint zahtijeva. |
| 403 | no_organization | Vjerodajnica nije povezana s organizacijom. |
| 403 | model_denied | Politika organizacije zabranjuje ovaj model ili njegovog pružatelja. |
| 403 | policy_violation | Zahtjev krši pravilo politike organizacije. |
| 403 | retention_exceeds_policy | Zatraženo zadržavanje duže je od onoga što politika dopušta. To se provjerava prije bilo čega drugog u vezi sa zahtjevom. |
| 403 | data_class_not_allowed | data_class zahtjeva nije onaj koji politika dopušta. |
| 404 | model_not_found | Nema takvog modela za ovu organizaciju. |
| 404 | hosted_unavailable | Model je u katalogu, ali nije hostan na LLM EU, pa se ne može pozvati. |
| 404 | not_found | Ruta postoji, ali objekt ne postoji. |
| 404 | unknown_route | Nijedna ruta nije montirana na ovoj putanji. Svaki OpenAI endpoint koji nije naveden pod Endpoints odgovara ovim. |
| 404 | policy_not_found | policy_id u llmeu ne pripada ovoj organizaciji. |
| 409 | no_endpoint_for_policy | Ništa ne zadovoljava politiku i rezidentnost zajedno, i nijedno se ne popušta tiho. |
| 409 | not_a_text_model | Navedeni model ne može generirati tekst: to je model za prepoznavanje govora, embedding ili reranker. |
| 409 | conflict | Zahtjev je u sukobu s trenutnim stanjem objekta. |
| 413 | request_too_large | Tijelo je premašilo ograničenje veličine krajnje točke. |
| 429 | rate_limit_exceeded | Dosegnuto je ograničenje iz tablice ograničenja brzine. Poruka navodi vrijeme resetiranja prozora. |
| 500 | internal_error | Neočekivana pogreška na našoj strani. |
| 501 | not_implemented | Krajnja točka se namjerno ne nudi, ili tražena mogućnost ne postoji u ovoj implementaciji. |
| 501 | retention_not_implemented | Pravilo dopušta zadržavanje različito od nule, a implementirano je samo nula, pa se zahtjev odbija umjesto da se pohrani. |
| 501 | unsupported_n | n veći od 1 nije podržan. |
| 502 | upstream_error | Nijedna krajnja točka nije mogla poslužiti zahtjev nakon prebacivanja. Trag bilježi svaki pokušaj. |
| 502 | stream_failed | Stream nije uspio nakon što je već započeo. |
no_endpoint_for_policy je proizvod koji radi
409 s ovim kodom znači da politika i zahtjev zajedno ne dopuštaju nijednu krajnju točku, a usmjerivač je odbio tiho popustiti bilo koju od njih. Nije prolazno: ponovni pokušaj bez promjene zahtjeva, politike ili rezidentnosti ne uspijeva na isti način. Pogreška nosi zatraženu rezidentnost, a trag bilježi zašto je svaka krajnja točka odbijena.
Pogreške unutar toka
Zahtjev za strujanje koji ne uspije nakon što su zaglavlja poslana zapisuje pogrešku kao konačni SSE okvir, a zatim terminator, pa klijent koji slijedi format vidi neuspjeh umjesto skraćenog uspjeha.
data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}
data: [DONE]