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

# Aggiungere il fallback del modello con CometAPI

> Aggiungi il fallback del modello con CometAPI provando i model ID in ordine, ritentando gli errori riprovabili e fermandoti sugli errori nella forma della richiesta.

Aggiungi il fallback del modello mantenendo una piccola lista ordinata di model ID nella tua app e provando il modello successivo solo quando l'errore è riprovabile o specifico del modello. Non ritentare richieste malformate; correggi gli errori `400`, `401` e di richiesta non valida prima di chiamare un altro modello.

## Implementare un fallback ordinato

L'esempio Python seguente prova i model ID in ordine e si ferma sugli errori non riprovabili:

```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.")
```

La risposta riuscita proviene dal primo modello che completa l'elaborazione:

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

## Scegliere i modelli di fallback

La richiesta seguente elenca i model ID disponibili che puoi valutare per il fallback:

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

La risposta contiene record di modello:

```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"
    }
  ]
}
```

## Errori comuni

| Error                                     | Soluzione                                                                                         |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Il fallback nasconde richieste non valide | Non usare il fallback per errori `400`, `401` o di richiesta non valida.                          |
| I modelli hanno formati di output diversi | Normalizza la risposta nella tua app prima di restituirla agli utenti.                            |
| Il fallback aumenta il costo              | Stima il costo per ogni modello prima di aggiungerlo alla lista di fallback.                      |
| Troppi fallback paralleli                 | Prova i fallback in sequenza, a meno che il tuo prodotto non richieda una competizione parallela. |

## Link correlati

* [Codici di errore e strategia di retry](/it/guides/error-codes-and-retry-strategy)
* [Rate limits e concorrenza](/it/guides/rate-limits-and-concurrency)
* [Pagina dei modelli](/it/overview/models)
* [Directory dei modelli](https://www.cometapi.com/models/)
* [Prezzi](https://www.cometapi.com/pricing/)
* [Quickstart di CometAPI](/it/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": "Come aggiungo il fallback del modello con CometAPI?",
        "description": "Aggiungi il fallback del modello con CometAPI provando i model ID in ordine, ripetendo i tentativi per gli errori recuperabili e interrompendo il processo in caso di errori nella struttura della richiesta.",
        "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": "Documentazione CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Guide",
            "item": "https://apidoc.cometapi.com/guides/use-cometapi-with-openai-sdk"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Come aggiungo il fallback del modello con CometAPI?",
            "item": "https://apidoc.cometapi.com/guides/model-fallback-with-cometapi"
          }
        ]
      }
    ]
    }
    `}
</script>
