الدرس 2 من 23

أساسيات تصميم أنظمة الذكاء الاصطناعي

مكونات أنظمة الذكاء الاصطناعي

4 دقيقة للقراءة

تتكون أنظمة الذكاء الاصطناعي الحديثة من عدة وحدات بناء رئيسية. فهم متى وكيف تستخدم كل مكون ضروري لمقابلات تصميم الأنظمة.

نظرة عامة على المكونات الأساسية

┌─────────────────────────────────────────────────────────────┐
│                   هندسة نظام الذكاء الاصطناعي               │
├─────────────┬─────────────┬─────────────┬──────────────────┤
│   البوابة   │   طبقة     │   مخزن     │    التخزين       │
│   و API     │   LLM      │  المتجهات  │   والذاكرة المؤقتة│
├─────────────┼─────────────┼─────────────┼──────────────────┤
│ حد المعدل   │ OpenAI     │ Pinecone   │ PostgreSQL       │
│ المصادقة    │ Anthropic  │ Qdrant     │ Redis            │
│ موازنة الحمل│ LLMs محلية │ Milvus     │ S3               │
└─────────────┴─────────────┴─────────────┴──────────────────┘

1. طبقة LLM

عقل نظامك. الاعتبارات الرئيسية:

المزود الأفضل لـ المقايضة
OpenAI GPT-4 الاستدلال المعقد تكلفة أعلى، حدود المعدل
Claude سياق طويل، الأمان التوفر يختلف حسب المنطقة
مفتوح المصدر (Llama) الخصوصية، التحكم بالتكلفة يتطلب بنية تحتية
# مثال: طبقة تجريد LLM
class LLMProvider:
    def __init__(self, provider: str):
        self.provider = provider

    def complete(self, prompt: str, **kwargs) -> str:
        # التوجيه إلى المزود المناسب
        if self.provider == "openai":
            return self._openai_complete(prompt, **kwargs)
        elif self.provider == "anthropic":
            return self._anthropic_complete(prompt, **kwargs)

2. قاعدة البيانات المتجهة

تخزن التضمينات للبحث الدلالي. حاسمة لأنظمة RAG.

قاعدة البيانات نقاط القوة الاعتبارات
Pinecone مُدارة، سهلة التوسع الارتباط بالمورد
Qdrant مفتوحة المصدر، تصفية تعقيد الاستضافة الذاتية
pgvector PostgreSQL مألوف نطاق محدود
Milvus أداء عالي عبء تشغيلي

3. طبقة التخزين المؤقت

تقلل التكاليف وزمن الاستجابة بتخزين الاستعلامات المتكررة.

# نمط التخزين المؤقت الدلالي
class SemanticCache:
    def __init__(self, similarity_threshold=0.95):
        self.threshold = similarity_threshold
        self.cache = {}  # التضمين -> الاستجابة

    def get(self, query_embedding):
        for cached_embedding, response in self.cache.items():
            if cosine_similarity(query_embedding, cached_embedding) > self.threshold:
                return response
        return None

4. طابور الرسائل

يتعامل مع المعالجة غير المتزامنة للمهام الطويلة.

متى تستخدمه:

  • المهام التي تستغرق أكثر من 30 ثانية
  • معالجة دفعات من المستندات
  • منطق إعادة المحاولة للاستدعاءات الفاشلة

الخيارات الشائعة: Redis Queue، Celery، AWS SQS

5. بوابة API

نقطة الدخول لجميع الطلبات.

المسؤوليات:

  • المصادقة والتفويض
  • تحديد المعدل (حاسم للتحكم بالتكلفة)
  • توجيه الطلبات
  • تنسيق الاستجابات

إطار اختيار المكونات

عند اختيار المكونات، اسأل:

  1. النطاق: كم طلب في الثانية؟
  2. زمن الاستجابة: ما هو وقت الاستجابة المقبول؟
  3. التكلفة: ما هي الميزانية لكل استعلام؟
  4. الموثوقية: ما هو متطلب وقت التشغيل؟
  5. التعقيد: هل يستطيع الفريق صيانته؟

بعد ذلك، سنتعمق في مفاهيم قابلية التوسع لأنظمة الذكاء الاصطناعي. :::

اختبار

الوحدة 1: أساسيات تصميم أنظمة الذكاء الاصطناعي

خذ الاختبار