Vead

Iga veakood, millega see API saab vastata, seda kandev HTTP olek ja mida sellega teha. Ümbrik on OpenAI-kujuline ühe nimeruumitud täiendusega.

Ümbrik

error.message on kirjutatud inimestele logi lugemiseks, error.type nimetab rikke klassi ja error.code on stabiilne identifikaator, mille järgi haruneda — sõnumi tekst ei ole leping. Kui API-l on struktureeritud üksikasjad (milline poliitika, milline lõpp-punkt, milline mudel), saabuvad need väljal error.llmeu ega asenda kunagi kolme standardset välja.

{
  "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 järgib olekut

Allolev vastendus on see, mida API rakendab, esitatud samast tabelist, mis koostab selle vastused.

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

Koodid

Iga kood, mis võib jõuda kliendini. Test käib läbi API lähtekoodi ja ebaõnnestub, kui see tabel ja kood lähevad kummaski suunas lahku, seega ei saa koodi siin välja mõelda ega sinna lisada ilma dokumenteerimiseta.

HTTP code Mida see tähendab ja mida teha
400 invalid_request Päringu keha ei läbinud valideerimist.
400 invalid_json Keha ei olnud korrektne JSON.
400 invalid_llmeu llmeu objekt ei olnud objekt või sisaldas tundmatut välja.
400 invalid_residency Taotletud asukoht ei ole üks neljast majutusklassist.
400 invalid_data_class Taotletud data_class ei ole üks neljast klassist.
400 invalid_retention Taotletud säilitusaeg ei ole null, 24h, 7d ega 30d.
400 invalid_max_tokens max_tokens ei olnud positiivne täisarv.
400 invalid_stream stream ei olnud tõeväärtus.
400 invalid_stop stop ei olnud ei string ega stringide massiiv.
400 invalid_role Sõnumi roll ei olnud system, user, assistant ega tool.
400 invalid_tools tools või tool_choice oli valesti vormindatud.
400 missing_model Väli model on nõutav.
400 missing_messages messages on nõutav ja ei tohi olla tühi.
400 missing_input input on nõutav embeddingute jaoks.
400 missing_name name on nõutav.
401 invalid_api_key Võti on puudu, tundmatu, tühistatud või aegunud.
402 budget_exceeded Organisatsiooni päevane eelarve on ära kasutatud. Suurenda max_usd_per_day või oota, kuni aken vahetub.
403 api_key_required Päring kasutas konsooli seanssi. Loo API-võti ja saada see selle asemel.
403 insufficient_scope Võti on kehtiv, kuid sellel puudub selle lõpp-punkti jaoks vajalik ulatus.
403 no_organization Volitus ei ole organisatsiooniga seotud.
403 model_denied Organisatsiooni poliitika keelab selle mudeli või selle pakkuja.
403 policy_violation Taotlus rikub organisatsiooni poliitika reeglit.
403 retention_exceeds_policy Taotletud säilitamine on pikem kui poliitika lubab. Seda kontrollitakse enne kõike muud päringu kohta.
403 data_class_not_allowed Päringu data_class ei ole üks, mida poliitika lubab.
404 model_not_found Selle organisatsiooni jaoks sellist mudelit ei ole.
404 hosted_unavailable Mudel on kataloogis, kuid ei ole LLM EU-s hostitud, seega ei saa seda kutsuda.
404 not_found Marsruut on olemas, kuid objekti ei ole.
404 unknown_route Ühtegi marsruuti ei ole sellel teel. Iga OpenAI lõpp-punkt, mida ei ole loetletud jaotises Endpoints, vastab sellega.
404 policy_not_found llmeu policy_id ei kuulu sellele organisatsioonile.
409 no_endpoint_for_policy Miski ei vasta korraga nii poliitikale kui ka residentsusele ning kumbagi ei leevendata vaikselt.
409 not_a_text_model Nimetatud mudel ei suuda teksti genereerida: see on kõnetuvastuse, embeddingu või ümberjärjestaja mudel.
409 conflict Päring on vastuolus objekti praeguse olekuga.
413 request_too_large Keha ületas lõpp-punkti suuruse piirangu.
429 rate_limit_exceeded Jõuti piiranguni kiiruspiirangute tabelist. Teade nimetab akna lähtestamise aega.
500 internal_error Ootamatu tõrge meie poolel.
501 not_implemented Lõpp-punkti ei pakuta teadlikult või taotletud võimalust selles juurutuses ei ole.
501 retention_not_implemented Poliitika lubab muud säilitamist kui null ja ainult null on juurutatud, seega päring lükatakse tagasi selle asemel, et seda salvestada.
501 unsupported_n n, mis on suurem kui 1, ei ole toetatud.
502 upstream_error Ükski lõpp-punkt ei suutnud päringut pärast ümberlülitust teenindada. Jälg registreerib iga katse.
502 stream_failed Voog ebaõnnestus pärast seda, kui see oli juba alanud.

no_endpoint_for_policy tähendab, et toode töötab

409 koos selle koodiga tähendab, et poliitika ja päring koos ei luba ühtegi lõpp-punkti ning ruuter keeldus kummastki vaikselt leevendamast. See ei ole mööduv: uuesti proovimine ilma päringut, poliitikat või asukohta muutmata ebaõnnestub samamoodi. Viga kannab taotletud asukohta ja jälg salvestab, miks iga lõpp-punkt tagasi lükati.

Vead voos

Voogesituse päring, mis ebaõnnestub pärast päiste saatmist, kirjutab vea viimase SSE kaadrina ja seejärel lõpetaja, seega formaati järgiv klient näeb ebaõnnestumist, mitte kärbitud õnnestumist.

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

data: [DONE]