400, 401, dan invalid request sebelum Anda memanggil model lain.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Tambahkan fallback model dengan CometAPI dengan mencoba model ID secara berurutan, mencoba ulang kegagalan yang dapat diulang, dan berhenti pada error bentuk permintaan.
400, 401, dan invalid request sebelum Anda memanggil model lain.
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 | Perbaikan |
|---|---|
| Fallback menyembunyikan permintaan yang tidak valid | Jangan lakukan fallback pada error 400, 401, atau invalid request. |
| Model memiliki format output yang berbeda | Normalisasikan respons di aplikasi Anda sebelum mengembalikannya kepada pengguna. |
| Fallback meningkatkan biaya | Perkirakan biaya untuk setiap model sebelum menambahkannya ke daftar fallback. |
| Terlalu banyak fallback paralel | Coba fallback secara berurutan kecuali produk Anda memerlukan racing paralel. |