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

# Ajouter un fallback de modèle avec CometAPI

> Ajoutez un fallback de modèle avec CometAPI en essayant les model IDs dans l’ordre, en retentant les échecs réessayables et en vous arrêtant sur les erreurs de forme de requête.

Ajoutez un fallback de modèle en conservant dans votre application une petite liste ordonnée de model IDs et en essayant le modèle suivant uniquement lorsque l’échec est réessayable ou spécifique au modèle. Ne retentez pas les requêtes mal formées ; corrigez les erreurs `400`, `401` et les erreurs de requête invalide avant d’appeler un autre modèle.

## Implémenter un fallback ordonné

L’exemple Python suivant essaie les model IDs dans l’ordre et s’arrête sur les erreurs non réessayables :

```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 réponse réussie provient du premier modèle qui se termine avec succès :

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

## Choisir des modèles de fallback

La requête suivante liste les model IDs disponibles que vous pouvez évaluer pour le fallback :

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

La réponse contient des enregistrements de modèles :

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

## Erreurs courantes

| Error                                            | Fix                                                                                                      |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| Le fallback masque les requêtes invalides        | N’appliquez pas de fallback sur les erreurs `400`, `401` ou de requête invalide.                         |
| Les modèles ont des formats de sortie différents | Normalisez la réponse dans votre application avant de la renvoyer aux utilisateurs.                      |
| Le fallback augmente le coût                     | Estimez le coût de chaque modèle avant de l’ajouter à la liste de fallback.                              |
| Trop de fallbacks parallèles                     | Essayez les fallbacks séquentiellement, sauf si votre produit exige une exécution parallèle concurrente. |

## Liens associés

* [Codes d'erreur et stratégie de nouvelle tentative](/fr/guides/error-codes-and-retry-strategy)
* [Limites de débit et concurrence](/fr/guides/rate-limits-and-concurrency)
* [Page des modèles](/fr/overview/models)
* [Répertoire des modèles](https://www.cometapi.com/models/)
* [Tarification](https://www.cometapi.com/pricing/)
* [Démarrage rapide de CometAPI](/fr/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": "Comment ajouter un fallback de modèle avec CometAPI ?",
        "description": "Ajoutez un fallback de modèle avec CometAPI en essayant les model ID dans l'ordre, en relançant les échecs réessayables et en vous arrêtant en cas d'erreurs de forme de requête.",
        "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": "Documentation CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Guides",
            "item": "https://apidoc.cometapi.com/guides/use-cometapi-with-openai-sdk"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Comment ajouter un fallback de modèle avec CometAPI ?",
            "item": "https://apidoc.cometapi.com/guides/model-fallback-with-cometapi"
          }
        ]
      }
    ]
    }
    `}
</script>
