400, 401 en invalid request-fouten op voordat je een ander model aanroept.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Voeg model fallback toe met CometAPI door model ID’s op volgorde te proberen, herstelbare fouten opnieuw te proberen en te stoppen bij fouten in de request-vorm.
400, 401 en invalid request-fouten op voordat je een ander model aanroept.
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 | Oplossing |
|---|---|
| Fallback verbergt ongeldige requests | Gebruik geen fallback bij 400, 401 of invalid request-fouten. |
| Modellen hebben verschillende outputformaten | Normaliseer de response in je app voordat je die teruggeeft aan gebruikers. |
| Fallback verhoogt de kosten | Schat de kosten voor elk model voordat je het aan de fallback-lijst toevoegt. |
| Te veel parallelle fallbacks | Probeer fallbacks sequentieel, tenzij je product parallel racen vereist. |