تعيين المسارات (Route Mapping)
| عبء العمل الحالي | عنوان URL الأساسي لـ TokenLab | نقطة النهاية الأساسية | ملاحظة الترحيل |
|---|---|---|---|
| OpenAI Chat Completions | https://api.tokenlab.sh/v1 | /chat/completions | أصغر تغيير للدردشة المتوافقة مع OpenAI واستدعاء الدوال |
| OpenAI Responses | https://api.tokenlab.sh/v1 | /responses | استخدمه عندما يعتمد تطبيقك على مدخلات أو أدوات أو معالجة مخرجات خاصة بـ Responses |
| Anthropic SDK | https://api.tokenlab.sh | /v1/messages | لا تضف /v1 إلى عنوان URL الأساسي لـ SDK |
| Gemini REST | https://api.tokenlab.sh | /v1beta/models/:model:generateContent | احتفظ بالحقول الأصلية لـ Gemini في مسار Gemini |
| توليد الوسائط | https://api.tokenlab.sh/v1 | /images, /videos, /music, /3d | اكتشف النماذج باستخدام recommended_for وتوقع الاستطلاع غير المتزامن (async polling) حيثما تم توثيقه |
| الإدارة والفوترة | https://api.tokenlab.sh/v1 | /management/... | استخدم رموز الإدارة (management tokens) للاستخدام من جانب الخادم وتسوية الفواتير |
وصفات الترحيل السريع
من OpenAI إلى TokenLab
قم فقط بتغييرbase_url / baseURL الخاص بـ SDK إلى https://api.tokenlab.sh/v1 ، واحتفظ باسم متغير بيئة مفتاح API الخاص بـ OpenAI إذا كان ذلك أسهل للنشر، واستبدل معرفات النماذج بعد التحقق من GET /v1/models.
من OpenRouter إلى TokenLab
استخدمhttps://api.tokenlab.sh/v1 حيث كان تطبيقك يستخدم سابقاً عنوان URL الأساسي المتوافق مع OpenAI الخاص بـ OpenRouter. قم بإزالة معرفات النماذج ذات البادئة الخاصة بالمزود واستخدم معرفات نماذج TokenLab العامة من /v1/models؛ عندما يحتاج عبء العمل إلى Claude Messages أو Gemini generateContent ، انقله إلى نقطة نهاية TokenLab الأصلية بدلاً من إجباره على المرور عبر الدردشة المتوافقة مع OpenAI.
من LiteLLM إلى TokenLab
استخدم مسارcustom_openai/<model> الخاص بـ LiteLLM مع api_base: https://api.tokenlab.sh/v1. احتفظ بأسماء LiteLLM المستعارة منفصلة عن معرفات نماذج TokenLab الحقيقية حتى تتمكن من تغيير سياسة التوجيه دون تغيير مطالبات (prompts) التطبيق.
عبر Claude Messages من خلال TokenLab
وجه عملاء Anthropic SDK إلىhttps://api.tokenlab.sh وقم باستدعاء messages.create. لا تضف /v1 إلى عنوان URL الأساسي لـ SDK؛ حيث يمتلك SDK مسار /v1/messages.
عبر Gemini Native من خلال TokenLab
احتفظ بحمولات Gemini علىhttps://api.tokenlab.sh/v1beta/models/{model}:generateContent. يجب أن تظل contents و parts والملفات والمحتويات المخزنة مؤقتاً وإعلانات الدوال والأدوات المدمجة الأصلية الخاصة بـ Gemini على هذا المسار عندما يعتمد تطبيقك على سلوك Gemini.
الترحيل المتوافق مع OpenAI
GET /v1/models قبل حركة مرور الإنتاج. بالنسبة لتوليد الصور، أرسل model بشكل صريح واقرأ دليل الصور لأن نماذج الصور تختلف أكثر من نماذج الدردشة.
ترحيل Anthropic
/v1/messages لاستخدام أدوات Claude الأصلية، وتدفقات التفكير، ودلالات رسائل Anthropic. لا تقم بترجمة الحقول الخاصة بـ Anthropic فقط من خلال Chat Completions ما لم تكن ترغب عمداً في تغيير سلوك متوافق مع OpenAI.
ترحيل Gemini
/v1beta عندما يعتمد تطبيقك على سلوك Gemini الأصلي.
ترحيل الوسائط
- استعلم عن
GET /v1/models?recommended_for=image|video|music|3d. - اقرأ
GET /v1/modelsفي استجابات القائمة وGET /v1/models/{model}الكامل حيثما توفر. - أرسل
modelصريحاً، خاصة لنقاط نهاية الصور. - قم بتخزين
task_idوpoll_urlونقطة النهاية والنموذج ومعرف الوظيفة الخاص بك للوظائف غير المتزامنة. - قم بتسوية التكاليف من خلال سجلات الاستخدام و
billing_transaction_id، وليس معرفات مهام المزود.
خطة طرح الإنتاج
| المرحلة | الهدف | الفحوصات |
|---|---|---|
| 1. الجرد | سرد نقاط النهاية، والنماذج، وحقول الطلب، وسلوك البث/غير المتزامن، ومالك الفوترة | لا يتم افتراض أن أي حقول مخفية خاصة بالمزود عامة |
| 2. تجربة مسار واحد | نقل نقطة نهاية واحدة وعائلة نموذج واحدة | شكل الاستجابة، والتكلفة، والسجلات تطابق التوقعات |
| 3. الظل أو العينة | مقارنة المخرجات المحددة مقابل المزود السابق | الجودة المرئية للمستخدم وزمن الوصول مقبولان |
| 4. الطرح التدريجي | زيادة حركة المرور حسب المفتاح أو المؤسسة أو ميزة التبديل (feature flag) | مراقبة 4xx و 5xx وزمن الوصول والرصيد والوظائف غير المتزامنة المكررة |
| 5. التنظيف | إزالة مسار المزود القديم فقط بعد الاستخدام المستقر | توثيق مسار التراجع (rollback) ودليل الدعم |
مخاطر الترحيل
- لا تضع كل نموذج خلف مسار OpenAI Chat Completions واحد إذا كان تطبيقك يحتاج إلى سلوك Anthropic أو Gemini أو Responses الأصلي.
- لا تفترض الإعدادات الافتراضية القديمة للصور. أرسل
modelبشكل صريح. - لا تقم بإعادة محاولة طلبات الإنشاء غير المتزامنة دون التحقق مما إذا كانت المهمة قد تم إنشاؤها بالفعل.
- لا تكشف عن معرفات خاصة بالمزود في سجلاتك أو واجهة المستخدم الخاصة بك.
- لا تقارن الفواتير بمعرفات مهام المزود. استخدم سجلات استخدام TokenLab.
مرجع API
| الموضوع | المرجع |
|---|---|
| Multi-Format API | Multi-Format API |
| OpenAI SDK | OpenAI SDK |
| Anthropic SDK | Anthropic SDK |
| Gemini Native | Gemini Native API |
| Image Generation | Image Generation |
| Async Jobs & Polling | Async Jobs & Polling |