Vai al contenuto principale

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Gestisci gli errori di CometAPI decidendo se la richiesta deve essere corretta o ritentata. Ritenta 429, i fallimenti della classe timeout e i fallimenti temporanei del server con backoff; non ritentare richieste malformate o fallimenti di autenticazione.

Ritenta solo i fallimenti che supportano il retry

Status o segnaleRiprovare?Azione
400NoCorreggi il corpo della richiesta o i parametri.
401NoCorreggi la chiave API e l’header Authorization.
403Di solito noRimuovi i campi non supportati e verifica l’accesso al modello.
429Ritenta con backoff esponenziale e jitter.
500 with invalid_requestNoCorreggi la struttura della richiesta.
500, 503, 504, 524Ritenta con backoff e conserva il request ID.

Aggiungi backoff

L’esempio Python seguente ritenta solo i fallimenti che supportano il retry:
import os
import random
import time
from openai import APIError, OpenAI, RateLimitError

client = OpenAI(
    api_key=os.environ["COMETAPI_KEY"],
    base_url="https://api.cometapi.com/v1",
)

for attempt in range(5):
    try:
        response = client.chat.completions.create(
            model="your-model-id",
            messages=[{"role": "user", "content": "Say hello."}],
        )
        print(response.choices[0].message.content)
        break
    except RateLimitError:
        delay = min(30, 2**attempt) + random.random()
        time.sleep(delay)
    except APIError as error:
        status_code = getattr(error, "status_code", None)
        if status_code in {500, 503, 504, 524}:
            delay = min(30, 2**attempt) + random.random()
            time.sleep(delay)
            continue
        raise
else:
    raise RuntimeError("The request failed after retries.")
La risposta riuscita include l’output del modello:
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello."
      }
    }
  ],
  "usage": {
    "total_tokens": 9
  }
}

Registra un contesto utile

La seguente struttura JSON è sicura da archiviare dopo aver rimosso i segreti dell’utente e i file di grandi dimensioni:
{
  "method": "POST",
  "path": "/v1/chat/completions",
  "model": "your-model-id",
  "status": 429,
  "request_id": "request_id_from_error_message",
  "retryable": true
}

Errori comuni

ErroreCorrezione
Retry di 401Interrompi i retry e ruota o ricarica la chiave API.
Retry di JSON non validoValida il corpo della richiesta prima di inviare un’altra richiesta.
Nessun request ID nei logAcquisisci il corpo esatto dell’errore prima che il tuo SDK lo incapsuli.
Retry immediato dopo 429Aggiungi jitter e riduci la concorrenza.
Last modified on May 28, 2026