Napake
Vsaka koda napake, s katero lahko ta API odgovori, HTTP status, ki jo nosi, in kaj storiti glede tega. Ovoj je oblikovan po OpenAI z enim dodatkom v imenskem prostoru.
Ovoj
error.message je napisan za osebo, ki bere dnevnik, error.type poimenuje vrsto napake, error.code pa je stabilni identifikator za razvejanje — besedilo sporočila ni pogodba. Kjer ima API strukturirane podrobnosti (katera politika, katera končna točka, kateri model), te prispejo v error.llmeu in nikoli ne nadomestijo treh standardnih polj.
{
"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 sledi statusu
Spodnja preslikava je tista, ki jo uporablja API, izrisana iz iste tabele, ki 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 |
Kode
Vsaka koda, ki lahko doseže odjemalca. Test prehodi izvorno kodo API in odpove, ko se ta tabela in koda ne ujemata v katero koli smer, zato kode ni mogoče izmisliti tukaj ali dodati tam, ne da bi bila dokumentirana.
| HTTP | code | Kaj pomeni in kaj storiti |
|---|---|---|
| 400 | invalid_request | Telo zahteve ni prestalo preverjanja veljavnosti. |
| 400 | invalid_json | Telo ni bilo veljaven JSON. |
| 400 | invalid_llmeu | Objekt llmeu ni bil objekt ali je vseboval neznano polje. |
| 400 | invalid_residency | Zahtevana rezidenčnost ni eden od štirih razredov gostovanja. |
| 400 | invalid_data_class | Zahtevani data_class ni eden od štirih razredov. |
| 400 | invalid_retention | Zahtevana hramba ni 0, 24h, 7d ali 30d. |
| 400 | invalid_max_tokens | max_tokens ni bilo pozitivno celo število. |
| 400 | invalid_stream | stream ni bil logična vrednost. |
| 400 | invalid_stop | stop ni bil niti niz niti polje nizov. |
| 400 | invalid_role | Sporočilo je vsebovalo vlogo, ki ni system, user, assistant ali tool. |
| 400 | invalid_tools | tools ali tool_choice je bilo nepravilno oblikovano. |
| 400 | missing_model | Polje model je obvezno. |
| 400 | missing_messages | Polje messages je obvezno in ne sme biti prazno. |
| 400 | missing_input | Polje input je obvezno za vdelave. |
| 400 | missing_name | Polje name je obvezno. |
| 401 | invalid_api_key | Ključ manjka, ni znan, je preklican ali potekel. |
| 402 | budget_exceeded | Dnevni proračun organizacije je porabljen. Povečajte max_usd_per_day ali počakajte, da se okno prevrti. |
| 403 | api_key_required | Zahteva je uporabila sejo konzole. Ustvarite API ključ in namesto tega pošljite njega. |
| 403 | insufficient_scope | Ključ je veljaven, vendar mu manjka obseg, ki ga zahteva ta končna točka. |
| 403 | no_organization | Poverilnica ni povezana z organizacijo. |
| 403 | model_denied | Politika organizacije zavrača ta model ali njegovega ponudnika. |
| 403 | policy_violation | Zahteva krši pravilo politike organizacije. |
| 403 | retention_exceeds_policy | Zahtevana hramba je daljša, kot dovoljuje politika. To se preveri pred vsem drugim v zvezi z zahtevo. |
| 403 | data_class_not_allowed | data_class zahteve ni eden od tistih, ki jih politika dovoljuje. |
| 404 | model_not_found | Za to organizacijo ni takega modela. |
| 404 | hosted_unavailable | Model je v katalogu, vendar ni gostovan na LLM EU, zato ga ni mogoče klicati. |
| 404 | not_found | Pot obstaja, predmet pa ne. |
| 404 | unknown_route | Na tej poti ni nameščene nobene usmeritve. Vsaka končna točka OpenAI, ki ni navedena pod Končne točke, odgovori s tem. |
| 404 | policy_not_found | policy_id v llmeu ne pripada tej organizaciji. |
| 409 | no_endpoint_for_policy | Nič ne zadosti politiki in rezidenčnosti hkrati, in nobena od njiju ni tiho popuščena. |
| 409 | not_a_text_model | Imenovani model ne more ustvarjati besedila: je model za prepoznavanje govora, vdelave ali ponovno razvrščanje. |
| 409 | conflict | Zahteva je v nasprotju s trenutnim stanjem objekta. |
| 413 | request_too_large | Telo je preseglo omejitev velikosti končne točke. |
| 429 | rate_limit_exceeded | Dosežena je bila omejitev iz tabele omejitev pogostnosti. Sporočilo navaja čas ponastavitve okna. |
| 500 | internal_error | Nepričakovana napaka na naši strani. |
| 501 | not_implemented | Končna točka namenoma ni ponujena ali zahtevana zmožnost v tej namestitvi ne obstaja. |
| 501 | retention_not_implemented | Politika dovoljuje obdobje hrambe, ki ni nič, podprto pa je le nič, zato se zahteva zavrne, namesto da bi se shranila. |
| 501 | unsupported_n | n, večji od 1, ni podprt. |
| 502 | upstream_error | Po preklopu ob napaki nobena končna točka ni mogla postreči zahteve. Sled beleži vsak poskus. |
| 502 | stream_failed | Tok je spodletel, potem ko se je že začel. |
no_endpoint_for_policy je izdelek, ki deluje
409 s to kodo pomeni, da politika in zahteva skupaj ne dopuščata nobene končne točke, in usmerjevalnik ni hotel tiho popustiti nobene od njiju. Ni prehodno: ponovni poskus brez spremembe zahteve, politike ali rezidenčnosti spodleti na enak način. Napaka nosi zahtevano rezidenčnost, sled pa zabeleži, zakaj je bila vsaka končna točka zavrnjena.
Napake znotraj toka
Zahteva za pretakanje, ki spodleti po pošiljanju glav, zapiše napako kot zadnji okvir SSE in nato zaključno oznako, tako da odjemalec, ki sledi obliki, vidi napako namesto okrnjenega uspeha.
data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}
data: [DONE]