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