بوابات LLM والتوجيه
معمارية بوابة LLM
3 دقيقة للقراءة
توفر بوابات LLM واجهة موحدة لإدارة مزودي LLM المتعددين، مما يتيح التوجيه والاحتياطيات وتحسين التكلفة وقابلية المراقبة من نقطة تحكم واحدة.
لماذا بوابات LLM؟
بدون بوابة: مع بوابة:
───────────────── ────────────────
┌─────────────┐ ┌─────────────┐
│ الخدمة A │───→ OpenAI │ الخدمة A │─┐
└─────────────┘ └─────────────┘ │
│
┌─────────────┐ ┌─────────────┐ │ ┌─────────┐
│ الخدمة B │───→ Anthropic │ الخدمة B │─┼──→│ البوابة │───→ المزودين
└─────────────┘ └─────────────┘ │ └─────────┘
│ │
┌─────────────┐ ┌─────────────┐ │ ┌───┴───┐
│ الخدمة C │───→ Azure │ الخدمة C │─┘ │OpenAI │
└─────────────┘ └─────────────┘ │Anthro │
│Azure │
المشاكل: الفوائد: │Bedrock│
• N×M تكاملات • API واحد └───────┘
• لا مراقبة موحدة • تحكم مركزي
• صعب تغيير المزودين • احتياطيات سهلة
• بيانات اعتماد متفرقة • تسجيل موحد
قدرات البوابة
┌─────────────────────────────────────────────────────────────┐
│ قدرات بوابة LLM │
├─────────────────────────────────────────────────────────────┤
│ │
│ التوجيه وموازنة الحمل │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ • التوجيه القائم على النموذج │ │
│ │ • التوجيه القائم على زمن الاستجابة │ │
│ │ • التوجيه القائم على التكلفة │ │
│ │ • التوزيع الموزون │ │
│ │ • سلاسل الاحتياطي │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الموثوقية │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ • إعادة المحاولات التلقائية مع التراجع │ │
│ │ • الاحتياطي لمزودين بديلين │ │
│ │ • فحوصات الصحة وقواطع الدائرة │ │
│ │ • طابور الطلبات أثناء الانقطاعات │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ إدارة التكلفة │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ • حدود الميزانية لكل فريق/مشروع │ │
│ │ • تحديد المعدل حسب المستخدم/مفتاح API │ │
│ │ • تتبع الإنفاق والتنبيهات │ │
│ │ • خفض النموذج التلقائي عند الميزانية │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الأمان والحوكمة │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ • إدارة بيانات الاعتماد المركزية │ │
│ │ • مفاتيح API افتراضية للفرق │ │
│ │ • تسجيل الطلب/الاستجابة │ │
│ │ • اكتشاف PII وحذفها │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
مقارنة حلول البوابات
| الحل | النوع | الأفضل لـ | الميزات الرئيسية |
|---|---|---|---|
| LiteLLM | مفتوح المصدر | المرونة، الاستضافة الذاتية | 100+ مزود، async، A2A |
| Helicone | SaaS/استضافة ذاتية | قابلية المراقبة | 8ms زمن استجابة، تخزين مؤقت |
| Portkey | SaaS | المؤسسات | الحوكمة، الأمان |
| Martian | SaaS | تحسين التوجيه | التوجيه التلقائي |
| OpenRouter | SaaS | الوصول البسيط | الدفع حسب الاستخدام |
أنماط المعمارية الشائعة
النمط 1: البوابة المركزية
┌──────────────────────────────────────────────────────────┐
│ البوابة المركزية │
├──────────────────────────────────────────────────────────┤
│ │
│ جميع الخدمات → البوابة → المزودين │
│ │
│ الإيجابيات: السلبيات: │
│ • نقطة تحكم واحدة • نقطة فشل واحدة │
│ • إدارة سهلة • زمن استجابة إضافي │
│ • تسجيل موحد • تعقيد التوسع │
│ │
└──────────────────────────────────────────────────────────┘
النمط 2: البوابة الجانبية
┌──────────────────────────────────────────────────────────┐
│ البوابة الجانبية │
├──────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ │
│ │ Pod │ │
│ │ ┌────────┐ ┌─────┐│ │
│ │ │ الخدمة │→│Sidecar│→ المزودين │
│ │ └────────┘ └─────┘│ │
│ └─────────────────────┘ │
│ │
│ الإيجابيات: السلبيات: │
│ • لا قفزة شبكة • استخدام موارد لكل pod │
│ • تخزين مؤقت محلي • انتشار التكوين │
│ • عزل الخدمة • تحديثات معقدة │
│ │
└──────────────────────────────────────────────────────────┘
النمط 3: الهجين (موصى به)
┌──────────────────────────────────────────────────────────┐
│ النمط الهجين │
├──────────────────────────────────────────────────────────┤
│ │
│ SDK (جانب العميل) + بوابة مركزية (جانب الخادم) │
│ │
│ ┌────────────┐ │
│ │ الخدمة │ │
│ │ ┌───────┐ │ ┌─────────┐ │
│ │ │LiteLLM│──────→│ البوابة │──→ المزودين │
│ │ │ SDK │ │ │(التوجيه)│ │
│ │ └───────┘ │ └─────────┘ │
│ └────────────┘ │
│ │
│ SDK يتعامل مع: إعادة المحاولات، التنسيق، البث │
│ البوابة تتعامل مع: التوجيه، الميزانيات، التسجيل │
│ │
└──────────────────────────────────────────────────────────┘
الاعتبارات الرئيسية
- زمن الاستجابة: البوابة تضيف 1-10ms إضافي؛ مقبول لمعظم استدعاءات LLM (100ms+)
- الموثوقية: البوابة يجب أن تكون متاحة بشكل عالي؛ فكر في المناطق المتعددة
- التخزين المؤقت: البوابة يمكنها تخزين الطلبات المتطابقة لتوفير تكلفة كبير
- الامتثال: التسجيل المركزي يساعد مع متطلبات التدقيق
- وصول الفريق: المفاتيح الافتراضية تمكن الحصص لكل فريق والتتبع :::