Napake
Vsaka koda napake, s katero lahko odgovori ta API, status HTTP, ki jo nosi, in kaj storiti glede nje. Ovoj je v obliki OpenAI z enim dodatkom v imenskem prostoru.
Ovoj
error.message je napisan za osebo, ki bere dnevnik, error.type poimenuje razred napake, error.code pa je stabilen identifikator za razvejanje — besedilo sporočila ni pogodba. Kjer ima API strukturirane podrobnosti (kateri pravilnik, katera končna točka, kateri model), 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
Preslikava spodaj je tista, ki jo API uporablja, 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-ja in spodleti, ko se ta tabela in koda ne ujemata v nobeno smer, zato si kode ni mogoče izmisliti tukaj ali je 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 | Zahtevano hranjenje ni nič, 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 sta bila nepravilno oblikovana. |
| 400 | missing_model | Polje model je obvezno. |
| 400 | missing_messages | messages je obvezno in ne sme biti prazno. |
| 400 | missing_input | input je obvezen za vdelave. |
| 400 | missing_name | name je obvezno. |
| 401 | invalid_api_key | Ključ manjka, je neznan, preklican ali potekel. |
| 402 | budget_exceeded | Dnevni proračun organizacije je porabljen. Povečajte max_usd_per_day ali počakajte, da se okno ponastavi. |
| 403 | api_key_required | Zahteva je uporabila sejo konzole. Ustvarite API ključ in ga pošljite. |
| 403 | insufficient_scope | Ključ je veljaven, vendar nima obsega, 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 pravilnika organizacije. |
| 403 | retention_exceeds_policy | Zahtevano obdobje hrambe je daljše, kot ga politika dovoljuje. To se preveri pred vsem drugim glede zahteve. |
| 403 | data_class_not_allowed | data_class zahteve ni eden od tistih, ki jih politika dovoljuje. |
| 404 | model_not_found | Ni takega modela za to organizacijo. |
| 404 | hosted_unavailable | Model je v katalogu, vendar ni gostovan na LLM EU, zato ga ni mogoče poklicati. |
| 404 | not_found | Pot obstaja, vendar objekt ne. |
| 404 | unknown_route | Na tej poti ni nameščene poti. 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 zadovolji politike in rezidenčnosti hkrati, in nobeno se ne popušča tiho. |
| 409 | not_a_text_model | Imenovani model ne more ustvarjati besedila: je model za prepoznavanje govora, vdelave ali preurejevalnik. |
| 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 hitrosti. 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 zmogljivost ne obstaja na tej namestitvi. |
| 501 | retention_not_implemented | Politika dovoljuje hrambo, ki ni nič, in implementirana 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 | Nobena končna točka ni mogla postreči zahteve po preklopu. Sled beleži vsak poskus. |
| 502 | stream_failed | Pretok je spodletel, potem ko se je že začel. |
no_endpoint_for_policy pomeni, da izdelek deluje
409 s to kodo pomeni, da pravilnik in zahteva skupaj ne dopuščata nobene končne točke in da usmerjevalnik ni hotel tiho omiliti nobenega od njiju. Ni prehodno: ponovni poskus brez spremembe zahteve, pravilnika ali rezidenčnosti spodleti enako. Napaka nosi zahtevano rezidenčnost, sled pa zabeleži, zakaj je bila vsaka končna točka zavrnjena.
Napake znotraj toka
Pretakana zahteva, ki spodleti po tem, ko so glave poslane, zapiše napako kot zadnji okvir SSE in nato zaključnik, 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]