Klaidos

Kiekvienas klaidos kodas, kuriuo ši API gali atsakyti, jį perduodantis HTTP statusas ir ką su tuo daryti. Apvalkalas yra OpenAI formos su vienu vardų erdvės papildymu.

Apvalkalas

error.message parašytas žmogui, skaitančiam žurnalą, error.type įvardija gedimo klasę, o error.code yra stabilus identifikatorius, pagal kurį šakotis — pranešimo tekstas nėra sutartis. Kai API turi struktūrizuotų detalių (kuri politika, kuris galinis taškas, kuris modelis), jos pateikiamos error.llmeu ir niekada nepakeičia trijų standartinių laukų.

{
  "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" }
  }
}

tipas seka statusą

Žemiau pateiktas susiejimas yra tas, kurį taiko API, atvaizduotas iš tos pačios lentelės, kuri sudaro jo atsakymus.

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

Kodai

Kiekvienas kodas, kuris gali pasiekti klientą. Testas pereina API šaltinį ir nepavyksta, kai ši lentelė ir kodas nesutampa bet kuria kryptimi, todėl kodas negali būti išgalvotas čia arba pridėtas ten be dokumentavimo.

HTTP code Ką tai reiškia ir ką daryti
400 invalid_request Užklausos turinys nepraėjo validacijos.
400 invalid_json Turinys nebuvo galiojantis JSON.
400 invalid_llmeu llmeu objektas nebuvo objektas arba turėjo nežinomą lauką.
400 invalid_residency Prašyta rezidencija nėra viena iš keturių prieglobos klasių.
400 invalid_data_class Prašyta data_class nėra viena iš keturių klasių.
400 invalid_retention Prašyta saugojimo trukmė nėra zero, 24h, 7d arba 30d.
400 invalid_max_tokens max_tokens nebuvo teigiamas sveikasis skaičius.
400 invalid_stream stream nebuvo loginė reikšmė.
400 invalid_stop stop nebuvo nei eilutė, nei eilučių masyvas.
400 invalid_role Pranešimas turėjo rolę, kuri nėra viena iš system, user, assistant ir tool.
400 invalid_tools tools arba tool_choice buvo netaisyklingi.
400 missing_model Laukas model yra privalomas.
400 missing_messages messages yra privalomas ir negali būti tuščias.
400 missing_input input yra privalomas embeddingams.
400 missing_name name yra privalomas.
401 invalid_api_key Raktas yra trūkstamas, nežinomas, atšauktas arba pasibaigęs.
402 budget_exceeded Organizacijos dienos biudžetas išnaudotas. Padidinkite max_usd_per_day arba palaukite, kol pasibaigs langas.
403 api_key_required Užklausa naudojo konsolės sesiją. Sukurkite API raktą ir siųskite jį vietoj to.
403 insufficient_scope Raktas galioja, bet neturi šio galinio taško reikalaujamos apimties.
403 no_organization Kredencialas nėra priskirtas organizacijai.
403 model_denied Organizacijos politika draudžia šį modelį arba jo teikėją.
403 policy_violation Užklausa pažeidžia organizacijos politikos taisyklę.
403 retention_exceeds_policy Prašyta saugojimo trukmė yra ilgesnė, nei leidžia politika. Tai tikrinama prieš bet ką kita apie užklausą.
403 data_class_not_allowed Užklausos data_class nėra viena iš politikos leidžiamų.
404 model_not_found Šiai organizacijai nėra tokio modelio.
404 hosted_unavailable Modelis yra kataloge, bet nėra prieglobos LLM EU, todėl jo negalima iškviesti.
404 not_found Maršrutas egzistuoja, bet objekto nėra.
404 unknown_route Šiame kelyje nėra prijungto maršruto. Kiekvienas OpenAI galinis taškas, kuris nėra išvardytas skiltyje Endpoints, atsako šitaip.
404 policy_not_found policy_id llmeu objekte nepriklauso šiai organizacijai.
409 no_endpoint_for_policy Niekas netenkina politikos ir rezidencijos kartu, ir nė vienas nėra tyliai sušvelninamas.
409 not_a_text_model Nurodytas modelis negali generuoti teksto: tai kalbos atpažinimo, embeddingų arba perrikiuotojo modelis.
409 conflict Užklausa konfliktuoja su dabartine objekto būsena.
413 request_too_large Užklausos turinys viršijo galinio taško dydžio limitą.
429 rate_limit_exceeded Pasiektas limitas iš spartos limitų lentelės. Pranešime nurodomas lango atstatymo laikas.
500 internal_error Netikėta klaida mūsų pusėje.
501 not_implemented Galinis taškas sąmoningai nesiūlomas, arba prašoma galimybė neegzistuoja šiame diegime.
501 retention_not_implemented Politika leidžia saugojimo trukmę, kuri nėra nulis, o įgyvendintas tik nulis, todėl užklausa atmetama, o ne saugoma.
501 unsupported_n n didesnis nei 1 nepalaikomas.
502 upstream_error Po perėmimo joks galinis taškas negalėjo apdoroti užklausos. Sekimo įrašas fiksuoja kiekvieną bandymą.
502 stream_failed Srautas nutrūko po to, kai jau buvo pradėtas.

no_endpoint_for_policy – produktas veikia

409 su šiuo kodu reiškia, kad politika ir užklausa kartu nepriima nė vieno galinio taško, ir maršrutizatorius atsisakė tyliai sušvelninti bet kurį iš jų. Tai nėra laikina: bandant iš naujo nekeičiant užklausos, politikos ar rezidencijos, nepavyksta taip pat. Klaida perduoda prašytą rezidenciją, o pėdsakas įrašo, kodėl kiekvienas galinis taškas buvo atmestas.

Klaidos srauto viduje

Srautinė užklausa, kuri nepavyksta po to, kai antraštės išsiųstos, įrašo klaidą kaip paskutinį SSE kadrą ir tada terminatorių, todėl klientas, kuris laikosi formato, mato nesėkmę, o ne sutrumpintą sėkmę.

data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}

data: [DONE]