Fel

Varje felkod som det här API:et kan svara med, HTTP-statusen som bär den och vad du kan göra åt den. Svarsformatet har OpenAI-form med ett tillägg i en egen namnrymd.

Svarsformatet

error.message är skrivet för en person som läser en logg, error.type anger felklassen och error.code är den stabila identifierare du kan förgrena på — meddelandetexten är inte ett kontrakt. Där API:et har strukturerad information (vilken policy, vilken slutpunkt, vilken modell) kommer den i error.llmeu och ersätter aldrig de tre standardfälten.

{
  "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 följer status

Mappningen nedan är den som API:et tillämpar, genererad från samma tabell som bygger dess svar.

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

Koder

Varje kod som kan nå en klient. Ett test går igenom API:ets källkod och misslyckas när den här tabellen och koden inte stämmer överens åt något håll, så en kod kan inte hittas på här eller läggas till där utan att dokumenteras.

HTTP code Vad den betyder, och vad du kan göra
400 invalid_request Begärans innehåll klarade inte valideringen.
400 invalid_json Innehållet var inte giltig JSON.
400 invalid_llmeu Objektet llmeu var inte ett objekt, eller innehöll ett okänt fält.
400 invalid_residency Den begärda datahemvisten är inte en av de fyra driftklasserna.
400 invalid_data_class Den begärda data_class är inte en av de fyra klasserna.
400 invalid_retention Den begärda lagringstiden är inte zero, 24h, 7d eller 30d.
400 invalid_max_tokens max_tokens var inte ett positivt heltal.
400 invalid_stream stream var inte ett booleskt värde.
400 invalid_stop stop var varken en sträng eller en array av strängar.
400 invalid_role Ett meddelande hade en roll utanför system, user, assistant och tool.
400 invalid_tools tools eller tool_choice var felformat.
400 missing_model model-fältet är obligatoriskt.
400 missing_messages messages krävs och får inte vara tomt.
400 missing_input input krävs för embeddings.
400 missing_name name krävs.
401 invalid_api_key Nyckeln saknas, är okänd, återkallad eller har gått ut.
402 budget_exceeded Organisationens dagliga budget är förbrukad. Höj max_usd_per_day eller vänta tills fönstret rullar om.
403 api_key_required Begäran använde en konsollsession. Skapa en API-nyckel och skicka den i stället.
403 insufficient_scope Nyckeln är giltig men saknar den behörighet som denna slutpunkt kräver.
403 no_organization Autentiseringsuppgiften är inte kopplad till en organisation.
403 model_denied Organisationens policy nekar denna modell eller dess leverantör.
403 policy_violation Begäran bryter mot en regel i organisationens policy.
403 retention_exceeds_policy Den begärda retentionen är längre än policyn tillåter. Detta kontrolleras före allt annat i begäran.
403 data_class_not_allowed Begärans data_class är inte en som policyn tillåter.
404 model_not_found Ingen sådan modell för denna organisation.
404 hosted_unavailable Modellen finns i katalogen men är inte hostad på LLM EU, så den kan inte anropas.
404 not_found Rutten finns men objektet gör det inte.
404 unknown_route Ingen rutt är monterad på denna sökväg. Varje OpenAI-slutpunkt som inte listas under Slutpunkter svarar detta.
404 policy_not_found policy_id i llmeu tillhör inte denna organisation.
409 no_endpoint_for_policy Ingenting uppfyller policyn och residensen tillsammans, och ingen av dem mildras tyst.
409 not_a_text_model Den angivna modellen kan inte generera text: den är en taligenkännings-, embedding- eller reranker-modell.
409 conflict Begäran står i konflikt med objektets nuvarande tillstånd.
413 request_too_large Kroppen överskred slutpunktens storleksgräns.
429 rate_limit_exceeded En gräns från rate-limit-tabellen uppnåddes. Meddelandet anger tiden för fönstrets återställning.
500 internal_error Ett oväntat fel på vår sida.
501 not_implemented Slutpunkten erbjuds medvetet inte, eller så finns inte den begärda funktionen i denna driftsättning.
501 retention_not_implemented Policyn tillåter en annan retention än noll och endast noll är implementerad, så begäran avvisas i stället för att lagras.
501 unsupported_n n större än 1 stöds inte.
502 upstream_error Ingen slutpunkt kunde betjäna begäran efter failover. Spårningen registrerar varje försök.
502 stream_failed Strömmen misslyckades efter att den redan hade startat.

no_endpoint_for_policy är produkten som fungerar

En 409 med den här koden betyder att policyn och begäran tillsammans inte tillåter någon slutpunkt, och att routern vägrade lätta upp någon av dem i tysthet. Det är inte tillfälligt: att försöka igen utan att ändra begäran, policyn eller datahemvisten misslyckas på samma sätt. Felet innehåller den begärda datahemvisten, och spårningen registrerar varför varje slutpunkt avvisades.

Fel inuti en ström

En strömmande begäran som misslyckas efter att huvudena skickats skriver felet som en sista SSE-ram och sedan avslutaren, så en klient som följer formatet ser ett fel i stället för en avkortad framgång.

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

data: [DONE]