Vead
Iga veakood, millega see API võib vastata, HTTP staatus, mis seda kannab, ja mida sellega teha. Ümbrik on OpenAI-kujuline ühe nimeruumi lisandiga.
Ümbrik
error.message on kirjutatud inimesele, kes loeb logi, error.type nimetab tõrke klassi ja error.code on stabiilne identifikaator, mille järgi haruneda — sõnumi tekst ei ole leping. Kui API-l on struktureeritud detail (milline poliitika, milline otspunkt, milline mudel), saabub see 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" }
}
}
tüüp järgib olekut
Allpool olev vastendus on see, mida API rakendab, genereeritud samast tabelist, mis koostab selle vastused.
| HTTP | tüüp |
|---|---|
| 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 lahknevad kummaski suunas, 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 kehtiv JSON. |
| 400 | invalid_llmeu | llmeu objekt ei olnud objekt või sisaldas tundmatut välja. |
| 400 | invalid_residency | Taotletud residentstsus ei ole üks neljast hostimisklassist. |
| 400 | invalid_data_class | Taotletud data_class ei ole üks neljast klassist. |
| 400 | invalid_retention | Taotletud säilitusaeg ei ole null, 24h, 7d või 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 sõne ega sõnede massiiv. |
| 400 | invalid_role | Sõnumi roll ei olnud süsteem, kasutaja, assistent ega tööriist. |
| 400 | invalid_tools | tools või tool_choice oli vigane. |
| 400 | missing_model | Väli model on kohustuslik. |
| 400 | missing_messages | messages on kohustuslik ja ei tohi olla tühi. |
| 400 | missing_input | input on kohustuslik embeddingute jaoks. |
| 400 | missing_name | name on kohustuslik. |
| 401 | invalid_api_key | Võti on puudu, tundmatu, tühistatud või aegunud. |
| 402 | budget_exceeded | Organisatsiooni päevaeelarve on kulutatud. 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 ulatus, mida see lõpp-punkt nõuab. |
| 403 | no_organization | Kasutajatunnus ei ole seotud organisatsiooniga. |
| 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äilitusaeg 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 | Sellist mudelit selle organisatsiooni jaoks 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 | Sellel teel ei ole marsruuti ühendatud. Iga OpenAI lõpp-punkt, mida ei ole loetletud jaotises Endpoints, vastab sellele. |
| 404 | policy_not_found | policy_id llmeus ei kuulu sellele organisatsioonile. |
| 409 | no_endpoint_for_policy | Miski ei rahulda poliitikat ja residentstust koos ning kummastki ei minda vaikselt järele. |
| 409 | not_a_text_model | Nimetatud mudel ei saa 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 | Päringu sisu ületas lõpp-punkti suuruspiiri. |
| 429 | rate_limit_exceeded | Saavutati kiiruspiirangu tabelis olev piir. Sõnumis on nimetatud akna lähtestamise aeg. |
| 500 | internal_error | Ootamatu tõrge meie poolel. |
| 501 | not_implemented | Lõpp-punkti ei pakuta teadlikult või taotletud võimalus puudub selles juurutuses. |
| 501 | retention_not_implemented | Poliitika lubab muud säilitusaega peale nulli, kuid rakendatud on ainult null, seega päring lükatakse tagasi, mitte ei salvestata. |
| 501 | unsupported_n | n suurem kui 1 ei ole toetatud. |
| 502 | upstream_error | Pärast ümberlülitust ei suutnud ükski lõpp-punkt päringut teenindada. Jälg registreerib iga katse. |
| 502 | stream_failed | Voog ebaõnnestus pärast selle algust. |
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 järele andmast. See ei ole mööduv: uuesti proovimine ilma päringut, poliitikat või residentstust muutmata ebaõnnestub samamoodi. Viga sisaldab taotletud residentstust ja jälg registreerib, miks iga lõpp-punkt tagasi lükati.
Vead voos
Voogedastuse päring, mis ebaõnnestub pärast päiste saatmist, kirjutab vea viimase SSE kaadrina ja seejärel terminaatori, nii et 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]