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
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

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]