Skip to main content
يتميز TokenLab بتعدد التنسيقات: يمكنك الاحتفاظ بالعملاء المتوافقين مع OpenAI، ونداءات Messages الأصلية الخاصة بـ Anthropic، ونداءات REST الأصلية الخاصة بـ Gemini، ونقاط نهاية الوسائط بأشكالها الطبيعية. إن أكثر طرق الترحيل أماناً هي عدم تحويل كل عبء عمل إلى تنسيق عالمي واحد. اختر المسار الذي يمتلك السلوك الذي يحتاجه تطبيقك.

تعيين المسارات (Route Mapping)

وصفات الترحيل السريع

من 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

احتفظ بشيفرة إعادة المحاولة (retry) والمهلة (timeout) والبث (streaming) الحالية، ولكن تحقق من معرفات النماذج باستخدام GET /v1/models قبل حركة مرور الإنتاج. بالنسبة لتوليد الصور، أرسل model بشكل صريح واقرأ دليل الصور لأن نماذج الصور تختلف أكثر من نماذج الدردشة.

ترحيل Anthropic

استخدم /v1/messages لاستخدام أدوات Claude الأصلية، وتدفقات التفكير، ودلالات رسائل Anthropic. لا تقم بترجمة الحقول الخاصة بـ Anthropic فقط من خلال Chat Completions ما لم تكن ترغب عمداً في تغيير سلوك متوافق مع OpenAI.

ترحيل Gemini

احتفظ بالأدوات المدمجة لـ Gemini، ومراجع File API، والمحتويات المخزنة مؤقتاً، وإعلانات الدوال، وأجزاء المحتوى الأصلية على /v1beta عندما يعتمد تطبيقك على سلوك Gemini الأصلي.

ترحيل الوسائط

  1. استعلم عن GET /v1/models?recommended_for=image|video|music|3d.
  2. اقرأ GET /v1/models في استجابات القائمة و GET /v1/models/{model} الكامل حيثما توفر.
  3. أرسل model صريحاً، خاصة لنقاط نهاية الصور.
  4. قم بتخزين task_id و poll_url ونقطة النهاية والنموذج ومعرف الوظيفة الخاص بك للوظائف غير المتزامنة.
  5. قم بتسوية التكاليف من خلال سجلات الاستخدام و billing_transaction_id ، وليس معرفات مهام المزود.
تحتاج أعباء عمل الوسائط إلى خطة طرح خاصة بها لأن زمن الوصول، وإعادة المحاولة، والأصول النهائية تتصرف بشكل مختلف عن إكمال الدردشة.

خطة طرح الإنتاج

مخاطر الترحيل

  • لا تضع كل نموذج خلف مسار OpenAI Chat Completions واحد إذا كان تطبيقك يحتاج إلى سلوك Anthropic أو Gemini أو Responses الأصلي.
  • لا تفترض الإعدادات الافتراضية القديمة للصور. أرسل model بشكل صريح.
  • لا تقم بإعادة محاولة طلبات الإنشاء غير المتزامنة دون التحقق مما إذا كانت المهمة قد تم إنشاؤها بالفعل.
  • لا تكشف عن معرفات خاصة بالمزود في سجلاتك أو واجهة المستخدم الخاصة بك.
  • لا تقارن الفواتير بمعرفات مهام المزود. استخدم سجلات استخدام TokenLab.

مرجع API