Virheet
Jokainen virhekoodi, jolla tämä API voi vastata, sen kantava HTTP-tila ja mitä sille voi tehdä. Kirjekuori on OpenAI:n muotoinen yhdellä nimiavaruudella lisättynä.
Kirjekuori
error.message on kirjoitettu lokia lukevalle henkilölle, error.type nimeää vian luokan ja error.code on vakaa tunniste haarautumiseen — viestin teksti ei ole sopimus. Kun API:lla on jäsenneltyä yksityiskohtaa (mikä käytäntö, mikä päätepiste, mikä malli), se saapuu error.llmeu-kentässä eikä koskaan korvaa kolmea vakiokenttää.
{
"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 seuraa statusta
Alla oleva yhdistäminen on se, jota API soveltaa, renderöitynä samasta taulukosta, joka rakentaa sen vastaukset.
| HTTP | type |
|---|---|
| 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 |
Koodit
Jokainen koodi, joka voi saavuttaa asiakkaan. Testi käy läpi API:n lähdekoodin ja epäonnistuu, kun tämä taulukko ja koodi ovat ristiriidassa kumpaankin suuntaan, joten koodia ei voi keksiä tähän tai lisätä sinne ilman dokumentaatiota.
| HTTP | code | Mitä se tarkoittaa ja mitä tehdä |
|---|---|---|
| 400 | invalid_request | Pyynnön runko ei läpäissyt validointia. |
| 400 | invalid_json | Runko ei ollut kelvollista JSONia. |
| 400 | invalid_llmeu | llmeu-objekti ei ollut objekti tai sisälsi tuntemattoman kentän. |
| 400 | invalid_residency | Pyydetty sijoittuminen ei ole yksi neljästä isännöintiluokasta. |
| 400 | invalid_data_class | Pyydetty data_class ei ole yksi neljästä luokasta. |
| 400 | invalid_retention | Pyydetty säilytysaika ei ole zero, 24h, 7d tai 30d. |
| 400 | invalid_max_tokens | max_tokens ei ollut positiivinen kokonaisluku. |
| 400 | invalid_stream | stream ei ollut boolean. |
| 400 | invalid_stop | stop ei ollut merkkijono eikä merkkijonotaulukko. |
| 400 | invalid_role | Viesti sisälsi roolin, joka ei ole system, user, assistant tai tool. |
| 400 | invalid_tools | tools tai tool_choice oli virheellinen. |
| 400 | missing_model | model-kenttä on pakollinen. |
| 400 | missing_messages | messages on pakollinen eikä se saa olla tyhjä. |
| 400 | missing_input | input vaaditaan upotuksia varten. |
| 400 | missing_name | name on pakollinen. |
| 401 | invalid_api_key | Avain puuttuu, on tuntematon, kumottu tai vanhentunut. |
| 402 | budget_exceeded | Organisaation päiväbudjetti on käytetty. Nosta max_usd_per_day-arvoa tai odota, että ikkuna vaihtuu. |
| 403 | api_key_required | Pyyntö käytti konsoli-istuntoa. Luo API-avain ja lähetä se sen sijaan. |
| 403 | insufficient_scope | Avain on kelvollinen, mutta siitä puuttuu tämän päätepisteen vaatima valtuutuslaajuus. |
| 403 | no_organization | Tunnistetieto ei ole liitetty organisaatioon. |
| 403 | model_denied | Organisaation käytäntö kieltää tämän mallin tai sen tarjoajan. |
| 403 | policy_violation | Pyyntö rikkoo organisaation käytännön sääntöä. |
| 403 | retention_exceeds_policy | Pyydetty säilytysaika on pidempi kuin käytäntö sallii. Tämä tarkistetaan ennen kaikkea muuta pyyntöön liittyvää. |
| 403 | data_class_not_allowed | Pyynnön data_class ei ole sellainen, jonka käytäntö sallii. |
| 404 | model_not_found | Tälle organisaatiolle ei ole tällaista mallia. |
| 404 | hosted_unavailable | Malli on luettelossa, mutta sitä ei ole isännöity LLM EU:ssa, joten sitä ei voi kutsua. |
| 404 | not_found | Reitti on olemassa, mutta objektia ei ole. |
| 404 | unknown_route | Tähän polkuun ei ole liitetty reittiä. Jokainen OpenAI-päätepiste, jota ei ole lueteltu kohdassa Päätepisteet, vastaa tällä. |
| 404 | policy_not_found | llmeu-kentän policy_id ei kuulu tähän organisaatioon. |
| 409 | no_endpoint_for_policy | Mikään ei täytä käytäntöä ja sijaintivaatimusta yhdessä, eikä kumpaakaan lievennetä hiljaisesti. |
| 409 | not_a_text_model | Nimetty malli ei voi tuottaa tekstiä: se on puheentunnistus-, upotus- tai uudelleenjärjestelymalli. |
| 409 | conflict | Pyyntö on ristiriidassa objektin nykyisen tilan kanssa. |
| 413 | request_too_large | Runko ylitti päätepisteen kokorajan. |
| 429 | rate_limit_exceeded | Nopeusrajoitustaulukon raja saavutettiin. Viesti ilmoittaa ikkunan nollautumisajan. |
| 500 | internal_error | Odottamaton virhe meidän puolellamme. |
| 501 | not_implemented | Päätepistettä ei tarjota tarkoituksella, tai pyydettyä ominaisuutta ei ole tässä käyttöönotossa. |
| 501 | retention_not_implemented | Käytäntö sallii muun säilytysajan kuin nollan, ja vain nolla on toteutettu, joten pyyntö hylätään tallentamisen sijaan. |
| 501 | unsupported_n | n, joka on suurempi kuin 1, ei ole tuettu. |
| 502 | upstream_error | Yksikään päätepiste ei voinut käsitellä pyyntöä vikasietotilaan siirtymisen jälkeen. Jäljitys tallentaa jokaisen yrityksen. |
| 502 | stream_failed | Striimi epäonnistui, kun se oli jo alkanut. |
no_endpoint_for_policy on tuotteen toimintaa
409 tällä koodilla tarkoittaa, että käytäntö ja pyyntö yhdessä eivät salli mitään päätepistettä, ja reititin kieltäytyi lieventämästä kumpaakaan hiljaisesti. Se ei ole ohimenevää: uudelleenyritys ilman pyynnön, käytännön tai sijoittumisen muuttamista epäonnistuu samalla tavalla. Virhe sisältää pyydetyn sijoittumisen, ja jäljitys tallentaa, miksi kukin päätepiste hylättiin.
Virheet virrassa
Virtaava pyyntö, joka epäonnistuu otsakkeiden lähettämisen jälkeen, kirjoittaa virheen viimeisenä SSE-kehyksenä ja sitten lopettimen, joten formaattia noudattava asiakas näkee epäonnistumisen katkaistun onnistumisen sijaan.
data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}
data: [DONE]