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

# إضافة fallback للنموذج باستخدام CometAPI

> أضف fallback للنموذج باستخدام CometAPI عبر تجربة model IDs بالترتيب، وإعادة محاولة الإخفاقات القابلة لإعادة المحاولة، والتوقف عند أخطاء شكل الطلب.

أضف fallback للنموذج من خلال الاحتفاظ بقائمة مرتبة صغيرة من model IDs في تطبيقك وتجربة النموذج التالي فقط عندما يكون الفشل قابلاً لإعادة المحاولة أو خاصًا بالنموذج. لا تُعِد محاولة الطلبات غير الصحيحة؛ أصلح أخطاء `400` و`401` وأخطاء الطلب غير الصالح قبل استدعاء نموذج آخر.

## تنفيذ fallback مرتب

يجرب مثال Python التالي model IDs بالترتيب ويتوقف عند الأخطاء غير القابلة لإعادة المحاولة:

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

تأتي الاستجابة الناجحة من أول نموذج يكتمل بنجاح:

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

## اختيار نماذج fallback

يسرد الطلب التالي model IDs المتاحة التي يمكنك تقييمها لاستخدامها في fallback:

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

تحتوي الاستجابة على سجلات النماذج:

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

## الأخطاء الشائعة

| Error                                      | Fix                                                                   |
| ------------------------------------------ | --------------------------------------------------------------------- |
| يخفي fallback الطلبات غير الصالحة          | لا تستخدم fallback مع أخطاء `400` أو `401` أو أخطاء الطلب غير الصالح. |
| للنماذج تنسيقات إخراج مختلفة               | وحّد الاستجابة في تطبيقك قبل إرجاعها إلى المستخدمين.                  |
| يزيد fallback من التكلفة                   | قدّر تكلفة كل نموذج قبل إضافته إلى قائمة fallback.                    |
| عدد كبير جدًا من عمليات fallback المتوازية | جرّب fallback بشكل تسلسلي ما لم يكن منتجك يتطلب سباقًا متوازيًا.      |

## روابط ذات صلة

* [رموز الأخطاء واستراتيجية إعادة المحاولة](/ar/guides/error-codes-and-retry-strategy)
* [حدود المعدل والتزامن](/ar/guides/rate-limits-and-concurrency)
* [صفحة النماذج](/ar/overview/models)
* [دليل النماذج](https://www.cometapi.com/models/)
* [الأسعار](https://www.cometapi.com/pricing/)
* [البدء السريع في CometAPI](/ar/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": "كيف أضيف model fallback باستخدام CometAPI؟",
        "description": "أضف model fallback باستخدام CometAPI عبر تجربة model ID بالترتيب، وإعادة محاولة الإخفاقات القابلة لإعادة المحاولة، والتوقف عند أخطاء شكل الطلب.",
        "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": "مستندات CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "الأدلة",
            "item": "https://apidoc.cometapi.com/guides/use-cometapi-with-openai-sdk"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "كيف أضيف model fallback باستخدام CometAPI؟",
            "item": "https://apidoc.cometapi.com/guides/model-fallback-with-cometapi"
          }
        ]
      }
    ]
    }
    `}
</script>
