> ## 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.

# Dodaj fallback modelu z CometAPI

> Dodaj fallback modelu z CometAPI, próbując model ID po kolei, ponawiając błędy nadające się do ponowienia i zatrzymując się przy błędach kształtu żądania.

Dodaj fallback modelu, utrzymując w aplikacji małą uporządkowaną listę model ID i próbując kolejnego modelu tylko wtedy, gdy błąd nadaje się do ponowienia lub jest specyficzny dla modelu. Nie ponawiaj nieprawidłowo sformowanych żądań; napraw błędy `400`, `401` i invalid request, zanim wywołasz inny model.

## Zaimplementuj uporządkowany fallback

Poniższy przykład w Python próbuje model ID po kolei i zatrzymuje się przy błędach, których nie należy ponawiać:

```python theme={null}
import os
import time
from openai import OpenAI, APIError, RateLimitError

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

models = ["your-primary-model-id", "your-fallback-model-id"]

for model in models:
    try:
        completion = client.chat.completions.create(
            model=model,
            messages=[
                {
                    "role": "user",
                    "content": "Summarize CometAPI in one sentence.",
                }
            ],
        )
        print(completion.choices[0].message.content)
        break
    except RateLimitError:
        time.sleep(2)
        continue
    except APIError as error:
        status_code = getattr(error, "status_code", None)
        if status_code in {500, 503, 504, 524}:
            time.sleep(2)
            continue
        raise
else:
    raise RuntimeError("All configured model fallbacks failed.")
```

Pomyślna odpowiedź pochodzi z pierwszego modelu, który zakończy się powodzeniem:

```json theme={null}
{
  "model": "your-fallback-model-id",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "CometAPI gives developers one API surface for multiple model providers."
      }
    }
  ]
}
```

## Wybierz modele fallback

Poniższe żądanie wyświetla dostępne model ID, które możesz ocenić pod kątem fallback:

```bash theme={null}
curl https://api.cometapi.com/api/models
```

Odpowiedź zawiera rekordy modeli:

```json theme={null}
{
  "success": true,
  "page": 0,
  "page_size": 0,
  "total": 301,
  "data": [
    {
      "id": "deepseek-v4-pro",
      "provider": "DeepSeek",
      "model_type": "text",
      "features": [
        "text-to-text"
      ],
      "pricing": {
        "currency": "USD / M Tokens",
        "input": 0.416,
        "output": 0.832,
        "per_request": null,
        "per_second": null
      },
      "api_doc_url": "https://apidoc.cometapi.com/api/text/chat"
    }
  ]
}
```

## Typowe błędy

| Error                                 | Fix                                                                                |
| ------------------------------------- | ---------------------------------------------------------------------------------- |
| Fallback ukrywa nieprawidłowe żądania | Nie stosuj fallback dla błędów `400`, `401` ani błędów invalid request.            |
| Modele mają różne formaty wyjściowe   | Znormalizuj odpowiedź w swojej aplikacji przed zwróceniem jej użytkownikom.        |
| Fallback zwiększa koszt               | Oszacuj koszt dla każdego modelu przed dodaniem go do listy fallback.              |
| Zbyt wiele równoległych fallbacków    | Próbuj fallbacków sekwencyjnie, chyba że Twój produkt wymaga równoległego wyścigu. |

## Powiązane linki

* [Kody błędów i strategia ponawiania](/pl/guides/error-codes-and-retry-strategy)
* [Limity szybkości i współbieżność](/pl/guides/rate-limits-and-concurrency)
* [Strona modeli](/pl/overview/models)
* [Katalog modeli](https://www.cometapi.com/models/)
* [Cennik](https://www.cometapi.com/pricing/)
* [Szybki start z CometAPI](/pl/overview/quick-start)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "TechArticle",
        "@id": "https://apidoc.cometapi.com/guides/model-fallback-with-cometapi",
        "headline": "Jak dodać fallback modeli z CometAPI?",
        "description": "Dodaj fallback modeli z CometAPI, próbując kolejnych model ID po kolei, ponawiając błędy kwalifikujące się do ponowienia i zatrzymując się przy błędach kształtu żądania.",
        "url": "https://apidoc.cometapi.com/guides/model-fallback-with-cometapi",
        "author": {
          "@type": "Organization",
          "name": "CometAPI"
        },
        "publisher": {
          "@type": "Organization",
          "name": "CometAPI",
          "url": "https://www.cometapi.com"
        }
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Dokumentacja CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Przewodniki",
            "item": "https://apidoc.cometapi.com/guides/use-cometapi-with-openai-sdk"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Jak dodać fallback modeli z CometAPI?",
            "item": "https://apidoc.cometapi.com/guides/model-fallback-with-cometapi"
          }
        ]
      }
    ]
    }
    `}
</script>
