بوابات 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. زمن الاستجابة: البوابة تضيف 1-10ms إضافي؛ مقبول لمعظم استدعاءات LLM (100ms+)
  2. الموثوقية: البوابة يجب أن تكون متاحة بشكل عالي؛ فكر في المناطق المتعددة
  3. التخزين المؤقت: البوابة يمكنها تخزين الطلبات المتطابقة لتوفير تكلفة كبير
  4. الامتثال: التسجيل المركزي يساعد مع متطلبات التدقيق
  5. وصول الفريق: المفاتيح الافتراضية تمكن الحصص لكل فريق والتتبع :::

اختبار

الوحدة 5: بوابات LLM والتوجيه

خذ الاختبار