<!-- Canonical URL: https://ask.atlascloud.ai/ar/migrate-openrouter-requests-to-openai-compatible-api -->

# ما الذي يتغير عند ترحيل طلبات OpenRouter إلى API أخرى متوافقة مع OpenAI؟

> تغيير عنوان الأساس ومفتاح API ليس سوى الخطوة الأولى عند مغادرة OpenRouter. غالبا ما تنتقل حقول الدردشة القياسية، لكن يجب اختبار معرّفات النماذج ورؤوس OpenRouter وامتدادات التوجيه والبدائل والتدفق والمحاسبة والمدخلات متعددة الوسائط والأخطاء والحدود خلف محول.

<!-- Canonical URL: https://ask.atlascloud.ai/migrate-openrouter-requests-to-openai-compatible-api -->

# ما الذي يتغير عند ترحيل طلبات OpenRouter إلى API أخرى متوافقة مع OpenAI؟

يمكن أن يبدأ ترحيل الدردشة البسيطة بعنوان أساس ومفتاح ومعرّف نموذج جديد. في الإنتاج، تحتاج خصائص توجيه OpenRouter ورؤوسه وslugs والبدائل والبيانات الوصفية واختيار المزود إلى بدائل، وتحتاج الأدوات والتدفق إلى اختبارات عقد.

توافق OpenAI لهجة نقل مشتركة، وليس وعدا بتطابق الكتالوجات أو الامتدادات أو الفوترة أو التشغيل.

## احصر العقد المستخدم فعلا

ابحث في الكود والإعداد والسجلات عن كل حقل يرسل إلى OpenRouter. يستخدم الإعداد الموثق `https://openrouter.ai/api/v1` ومصادقة Bearer ورؤوس إسناد اختيارية، وقد يستخدم امتدادات توجيه.

أنشئ الحصر قبل التغيير:

| السطح | غالبا قابل للنقل | يحتاج مراجعة |
|---|---|---|
| الدردشة | `messages` وtemperature وحد الإخراج | المعاملات والقيم الافتراضية |
| النماذج | مقصد التطبيق | slug خاص بالمزود |
| الأدوات | الاسم وJSON schema | التوازي وstrict وتدفق المعاملات |
| التوجيه | لا شيء | التفضيلات والبدائل وtransforms |
| الرؤوس | نمط التفويض | إسناد OpenRouter وبياناته الوصفية |
| الاستخدام | عدد tokens | التكلفة والذاكرة والاستعلام عن الطلب |
| التشغيل | عائلات HTTP | الحدود وإعادة المحاولة والمهل ونص الخطأ |

## أدخل محول المزود أولا

لا توزع URL وslugs عبر الكود. اعزل الفروق خلف محول واعرض أسماء تطبيقية.

```python
from openai import OpenAI

def make_client(base_url: str, api_key: str) -> OpenAI:
    return OpenAI(base_url=base_url, api_key=api_key)

MODEL_MAP = {
    "coding_default": {
        "openrouter": "provider/model-slug",
        "target": "target-model-id",
    }
}
```

يترجم المحول الحقول الإضافية ويوحد الأخطاء ويصدر أحداثا مشتركة.

## استبدل دلالات النموذج والتوجيه

لا تُوحّد معرّفات النماذج. عيّن كل اسم تطبيقي إلى النموذج الهدف، وتحقق من السياق والأدوات والإخراج المنظم والوسائط والسعر في الكتالوج الحالي.

قد تعبر البوابة الهدف عن التوجيه والبدائل بشكل مختلف أو لا توفرهما. قرر إعادة بنائهما في التنسيق أو استخدام موجّه الهدف أو إزالتهما عمدا. التغيير الصامت يؤثر في التكلفة والجودة.

## احذف امتدادات OpenRouter أو ترجمها

راجع الرؤوس والحقول الخاصة. يمكن غالبا إزالة رؤوس الإسناد الاختيارية، لكن تفضيلات المزود وقوائم البدائل وplugins وtransforms وضوابط البيانات تحتاج إلى تعيين صريح.

ارفض الامتدادات المجهولة في اختبارات الترحيل. تجاهلها بصمت يخفي تغير السلوك.

## اختبر الأدوات والتدفق كعقد

اختبر:

* قبول اسم الدالة وJSON schema؛
* أوضاع tool choice والاستدعاءات المتوازية؛
* أحداث معاملات الأدوات التدريجية؛
* أسباب النهاية وحقول الرفض؛
* المعاملات التالفة وإعادة المحاولة.

قارن تسلسل الأحداث المحللة لا chunks الخام. اشمل الإلغاء وأخطاء منتصف التدفق والاستخدام النهائي وdelta الفارغة وإعادة الاتصال.

## أعد بناء محاسبة الاستخدام والتكلفة

يوثق OpenRouter بيانات generation تشمل النموذج والمزود وtokens والتكلفة الكلية. قد يعيد الهدف الاستخدام في الاستجابة أو يوفر استعلاما منفصلا أو يطلب حساب العميل.

وحّدها في دفترك:

```json
{
  "request_id": "internal_123",
  "provider_request_id": "external_456",
  "gateway": "target",
  "model": "resolved-model-id",
  "input_tokens": 1200,
  "output_tokens": 340,
  "cost_usd": 0.0123
}
```

افصل التقديرات عن الرسوم المسوّاة. أعد فحص حدود الميزانية قبل ترحيل وكلاء الإنتاج.

## تحقق من أشكال الطلبات متعددة الوسائط

تعتمد الصورة والصوت والفيديو على النموذج وendpoint. قد تختلف بوابتان في أجزاء المحتوى والرفع والوصول عبر URL والمهام غير المتزامنة وكائنات الإخراج.

أنشئ تركيبة لكل وسيط تستخدمه. نجاح النص لا يثبت توافق الوسائط.

## اختبر السلوك التشغيلي

قس رؤوس حدود المعدل ورموز الحالة القابلة للإعادة والمهل والطوابير والمناطق وidempotency والسجلات والدعم. استخدم وثائق الهدف الحالية.

للنشر العملي أربع بوابات:

1. إعادة تشغيل مجموعة ذهبية دون اتصال.
2. تشغيل حركة آمنة في الظل بلا أثر على المستخدم.
3. تنفيذ canary صغير منخفض المخاطر.
4. التوسع فقط إذا بقيت الأخطاء والكمون والتكلفة والتأكيدات ضمن الحدود.

احتفظ برجوع بسيط حتى اختبار حمل ممثل.

## قرر إن كان التوحيد يستحق

يبقى OpenRouter ملائما عندما يناسب كتالوج LLM الواسع وضبط التوجيه المنتج. قد تكون Atlas Cloud جذابة إذا بسطت علاقة واحدة متوافقة مع OpenAI للنص والصورة والفيديو البنية التقنية. لا تلغي أي ميزة الحاجة إلى الاختبار.

اختر وفق متطلبات مقاسة لا أصغر diff.

## الخلاصة

غيّر إعداد العميل ثم دقق كل افتراض غير قياسي حول النماذج والتوجيه والأدوات والتدفق والاستخدام والتشغيل. يحافظ المحول والاختبارات الذهبية على قابلية الرجوع ويمنع النجاح النحوي من إخفاء انحدار دلالي.

## FAQ

### هل يمكن الترحيل بتغيير base_url وapi_key فقط؟

أحيانا في دردشة بسيطة، لكن تكامل الإنتاج يعتمد غالبا على slugs وخيارات التوجيه والرؤوس والتدفق وحقول الاستخدام ودلالات البدائل، وهذه تحتاج إلى تغيير أيضا.

### ما حقول OpenRouter الأقل قابلية للنقل؟

تفضيلات المزود وقوائم البدائل ورؤوس الإسناد وtransforms وplugins والبيانات الوصفية الخاصة نقاط شائعة. اعزلها عن نموذج الطلب الأساسي.

### هل تستخدم واجهات OpenAI المتوافقة أسماء النماذج نفسها؟

لا. يغطي التوافق عادة شكل الطلب وليس هوية الكتالوج. أنشئ تعيينا صريحا من أسماء التطبيق إلى معرّفات كل بوابة الحالية.

### كيف تختبر التدفق بعد الترحيل؟

سجل تسلسل أحداث أجزاء النص ومعاملات الأدوات وسبب النهاية والاستخدام والإلغاء والأخطاء. قارن الأحداث المحللة لا كتل البايت الخام.

### ما أسلم نشر للترحيل؟

استخدم محولا وأعد تشغيل مجموعة ذهبية، ثم نفذ عينة صغيرة في الظل وcanary منخفض المخاطر مع حدود رجوع للأخطاء والكمون والتكلفة والتأكيدات.

### متى ينبغي للفريق البقاء مع OpenRouter؟

عندما تكون قيمة كتالوج LLM الواسع وضوابط التوجيه وأدوات التشغيل القائمة أكبر من فائدة التوحيد في مكان آخر. يجب أن يقود القرار احتياج مقاس لا ادعاء التوافق فقط.
