Virheet

Jokainen virhekoodi, jolla tämä API voi vastata, sen mukana tuleva HTTP-tila ja mitä sille voi tehdä. Kuori on OpenAI:n muotoinen, ja siinä on yksi nimiavaruudellinen lisäys.

Vastauskuori

error.message on kirjoitettu lokia lukevalle henkilölle, error.type nimeää virheluokan ja error.code on vakaa tunniste, jonka perusteella haarautua — viestin teksti ei ole sopimus. Kun API:lla on jäsenneltyä lisätietoa (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" }
  }
}

tyyppi seuraa tilaa

Alla oleva vastaavuus on se, jota API soveltaa, renderöitynä samasta taulukosta, joka rakentaa sen vastaukset.

HTTP tyyppi
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 päätyä asiakkaalle. Testi käy läpi API:n lähdekoodin ja epäonnistuu, kun tämä taulukko ja koodi ovat ristiriidassa kumpaan tahansa suuntaan, joten koodia ei voi keksiä tähän tai lisätä sinne ilman dokumentointia.

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 sijainti 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 totuusarvo.
400 invalid_stop stop ei ollut merkkijono eikä merkkijonotaulukko.
400 invalid_role Viestissä oli rooli, joka ei ole system, user, assistant tai tool.
400 invalid_tools tools tai tool_choice oli virheellisesti muotoiltu.
400 missing_model model-kenttä on pakollinen.
400 missing_messages messages on pakollinen eikä se saa olla tyhjä.
400 missing_input input on pakollinen upotuksia varten.
400 missing_name name on pakollinen.
401 invalid_api_key Avain puuttuu, on tuntematon, peruutettu tai vanhentunut.
402 budget_exceeded Organisaation päiväbudjetti on käytetty. Nosta max_usd_per_day-arvoa tai odota, että aikaikkuna 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 käyttöalue.
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 mitään 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 isännöidä LLM EU:ssa, joten sitä ei voi kutsua.
404 not_found Reitti on olemassa, mutta kohdetta ei ole.
404 unknown_route Tähän polkuun ei ole asennettu reittiä. Jokainen OpenAI-päätepiste, jota ei ole lueteltu Päätepisteet-osiossa, vastaa tällä.
404 policy_not_found llmeu-kentän policy_id ei kuulu tälle organisaatiolle.
409 no_endpoint_for_policy Mikään ei täytä käytäntöä ja sijaintia yhdessä, eikä kumpaakaan lievennetä hiljaisesti.
409 not_a_text_model Nimetty malli ei voi tuottaa tekstiä: se on puheentunnistus-, upotus- tai uudelleenjärjestelijämalli.
409 conflict Pyyntö on ristiriidassa objektin nykyisen tilan kanssa.
413 request_too_large Runko ylitti päätepisteen kokorajoituksen.
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äilytyksen kuin nollan, ja vain nolla on toteutettu, joten pyyntö hylätään tallentamisen sijaan.
501 unsupported_n n suurempi kuin 1 ei ole tuettu.
502 upstream_error Yksikään päätepiste ei voinut palvella pyyntöä vikasietotilan jälkeen. Jäljitys tallentaa jokaisen yrityksen.
502 stream_failed Virta epäonnistui sen jo alettua.

no_endpoint_for_policy on tuotteen toimintaa

409 tällä koodilla tarkoittaa, että käytäntö ja pyyntö yhdessä eivät salli yhtään päätepistettä, eikä reititin suostunut lieventämään kumpaakaan hiljaisesti. Se ei ole tilapäinen: uudelleenyritys ilman pyynnön, käytännön tai sijainnin muuttamista epäonnistuu samalla tavalla. Virhe sisältää pyydetyn sijainnin, ja jäljitys tallentaa, miksi kukin päätepiste hylättiin.

Virheet virran sisällä

Suoratoistopyyntö, joka epäonnistuu otsikoiden 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]