LiteLLM مقابل Bifrost: اختبرت كليهما في بيئة الإنتاج
قمت بتشغيل LiteLLM و Bifrost جنباً إلى جنب لمدة أسبوعين.
استخدمت نفس حركة المرور، ونفس النماذج، ونفس البنية التحتية. كنت بحاجة لاختيار بوابة واحدة لفريقي، وأردت الحصول على بيانات حقيقية بدلاً من الادعاءات التسويقية.
إليكم النتائج التي توصلت إليها.
إعداد الاختبار
استخدمت مثيلات (instances) من نوع c5.xlarge مع 4 vCPUs و8 جيجابايت من ذاكرة الوصول العشوائي (RAM). لم أستخدم مثيلات اختبار صغيرة، بل استخدمت طلبات مستخدمين حقيقية من منصة الوكلاء (agent platform) الخاصة بنا بمعدل يتراوح بين 200 إلى 400 طلب في الثانية.
تغطية المزودين
- يدعم LiteLLM أكثر من 100 مزود.
- يدعم Bifrost حوالي 23 مزوداً.
يتعامل LiteLLM مع OpenAI و Anthropic و Bedrock و Vertex و Groq و Deepseek باستخدام إعدادات (config) بسيطة. بينما افتقر Bifrost إلى بعض المزودين الذين نحتاجهم، مما جعل هذا الأمر عائقاً لا يمكن التغاضي عنه بالنسبة لنا.
الأداء
يتميز Bifrost بأنه أسرع من حيث العبء الإضافي (overhead) الخام للبوابة لأنه يستخدم لغة Go. لقد قمت بقياس عبء إضافي يبلغ حوالي 0.08 مللي ثانية. أما بروكسي Python الخاص بـ LiteLLM فقد أضاف حوالي 7 إلى 8 مللي ثانية لكل طلب.
ومع ذلك، فإن استدعاء نموذج لغوي كبير (LLM) يستغرق من 500 مللي ثانية إلى 30 ثانية. لذا فإن تأخيراً قدره 7 مللي ثانية يكاد يكون غير مرئي مقارنة بزمن استجابة النموذج.
أيضاً، أصدر LiteLLM مؤخراً بوابة تعتمد على لغة Rust، مما يقلل العبء الإضافي إلى 0.05 مللي ثانية، وهذا يقلص فجوة الأداء.
تتبع الإنفاق
هنا يتفوق LiteLLM؛ فهو يتتبع الإنفاق تلقائياً عبر كل مفتاح وكل فريق.
- تحصل على ميزانيات لكل مفتاح.
- تحصل على ميزانيات لكل فريق.
- تحصل على تقارير إنفاق يومية.
يمتلك Bifrost حدوداً للميزانية، لكن LiteLLM يوفر تخصيصاً دقيقاً للتكاليف (cost attribution). عندما تقوم بإجراء 10 ملايين استدعاء شهرياً، سيسأل مديرك التقني (CTO) بالضبط عن المبلغ الذي أنفقه كل فريق على كل نموذج، وسيعطيك LiteLLM تلك الإجابة فوراً.
استراتيجيات التوجيه
يوفر LiteLLM خمس استراتيجيات للتوجيه:
- التبديل البسيط (Simple shuffle)
- الأقل انشغالاً (Least busy)
- القائم على زمن الاستجابة (Latency-based)
- القائم على التكلفة (Cost-based)
- القائم على الاستخدام (Usage-based)
يمتلك Bifrost توجيهاً موزوناً وتكيفياً (weighted and adaptive routing)، لكنه يفتقر إلى التوجيه القائم على التكلفة. يمكن لـ LiteLLM اختيار أرخص نموذج للطلب تلقائياً.
الحكم النهائي
لقد اخترت LiteLLM.
كانت قائمة المزودين وتتبع الإنفاق هما السببان الرئيسيان. Bifrost يمثل هندسة رائعة للفرق الصغيرة التي تستخدم OpenAI أو Anthropic فقط. ولكن من أجل التوسع والتنوع، يعد LiteLLM أكثر عملية.
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
