400, 401 et les erreurs de requête invalide avant d’appeler un autre modèle.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
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.
400, 401 et les erreurs de requête invalide avant d’appeler un autre modèle.
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.")
{
"model": "your-fallback-model-id",
"choices": [
{
"message": {
"role": "assistant",
"content": "CometAPI gives developers one API surface for multiple model providers."
}
}
]
}
curl https://api.cometapi.com/api/models
{
"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"
}
]
}
| 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. |