Przejdź do głównej treści

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.

Obsługuj błędy CometAPI, decydując, czy żądanie należy poprawić, czy ponowić. Ponawiaj 429, błędy klasy timeout oraz tymczasowe błędy serwera z backoff; nie ponawiaj nieprawidłowych żądań ani błędów uwierzytelniania.

Ponawiaj tylko błędy nadające się do ponowienia

Status lub sygnałPonowić?Działanie
400NiePopraw body żądania lub parametry.
401NiePopraw klucz API i nagłówek Authorization.
403Zwykle nieUsuń nieobsługiwane pola i zweryfikuj dostęp do modelu.
429TakPonów z exponential backoff i jitter.
500 z invalid_requestNiePopraw kształt żądania.
500, 503, 504, 524TakPonów z backoff i zachowaj request ID.

Dodaj backoff

Poniższy przykład w Python ponawia tylko błędy nadające się do ponowienia:
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.")
Pomyślna odpowiedź zawiera dane wyjściowe modelu:
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello."
      }
    }
  ],
  "usage": {
    "total_tokens": 9
  }
}

Rejestruj przydatny kontekst

Poniższy kształt JSON można bezpiecznie przechowywać po usunięciu sekretów użytkownika i dużych plików:
{
  "method": "POST",
  "path": "/v1/chat/completions",
  "model": "your-model-id",
  "status": 429,
  "request_id": "request_id_from_error_message",
  "retryable": true
}

Częste błędy

BłądPoprawka
Ponawianie 401Zatrzymaj ponowienia i zrotuj lub ponownie wczytaj klucz API.
Ponawianie nieprawidłowego JSONZweryfikuj body żądania przed wysłaniem kolejnego żądania.
Brak request ID w logachPrzechwytuj dokładne body błędu, zanim Twój SDK je opakuje.
Natychmiastowe ponowienie po 429Dodaj jitter i zmniejsz współbieżność.

Powiązane linki

Last modified on May 28, 2026