الاختبار: مشاريع من العالم الحقيقي
30 سؤالًا عن بناء تطبيقات RAG إنتاجية.
س1: ما الخطوة الأولى في مشروع أسئلة وأجوبة على الوثائق؟
الإجابة: تحميل PDF واستخراج النص باستخدام محمّلات الوثائق.
س2: لماذا تستخدم ConversationalRetrievalChain؟
الإجابة: للحفاظ على تاريخ المحادثة عبر أسئلة متعددة.
س3: كيف تعرض استشهادات المصادر؟
الإجابة: استخدم return_source_documents=True واعرض metadata.
س4: فيما يفيد Streamlit في RAG؟
الإجابة: تطوير واجهات سريع لواجهات المحادثة ورفع الملفات.
س5: كيف تتعامل مع عدة ملفات PDF؟
الإجابة: عالج كل ملف على حدة وأضفه إلى vector store نفسه مع metadata.
س6: ما خدمة المزامنة في قاعدة المعرفة المؤسسية؟
الإجابة: خدمة خلفية تسحب البيانات بانتظام من مصادر مثل Confluence/Notion.
س7: كيف تنفّذ الوصول حسب القسم؟
الإجابة: خزّن القسم في metadata وصفِّ الاستعلامات حسب قسم المستخدم.
س8: ما الغرض من حلقة التغذية الراجعة؟
الإجابة: جمع تقييمات المستخدمين لتحديد النقاط الضعيفة في النظام وتحسينها.
س9: كيف تُصدِر وثائق قاعدة المعرفة؟
الإجابة: خزّن معلومات الإصدار في metadata وتتبع التغييرات عبر الزمن.
س10: ما هو تعدّد المستأجرين؟
الإجابة: خدمة عدة عملاء من منصة واحدة مع عزل البيانات.
س11: ما المقاربتان الرئيسيتان لعزل المستأجرين؟
الإجابة: Namespaces (أقسام منفصلة) أو تصفية metadata (حقل tenant_id).
س12: ما الذي ينبغي تتبّعه للفوترة؟
الإجابة: الاستعلامات، والـ tokens المستخدمة، والوثائق المفهرسة، والتخزين المستخدم.
س13: كيف تخصّص RAG لكل مستأجر؟
الإجابة: خزّن الإعدادات (النموذج، temperature، prompts) لكل مستأجر وطبّقها في وقت التشغيل.
س14: فيما يُستخدم تحديد المعدّل؟
الإجابة: منع مستأجر واحد من استهلاك كل الموارد.
س15: كيف تتعامل مع ضم مستأجر جديد؟
الإجابة: أنشئ namespace، ومهّد الإعدادات، وأعد الفوترة، وقدّم مفاتيح API.
س16: أي إطار واجهة يعمل جيدًا مع RAG في Python؟
الإجابة: Streamlit للنماذج الأولية السريعة، وReact/Next.js للإنتاج.
س17: كيف تحفظ تاريخ المحادثة؟
الإجابة: استخدم فئات الذاكرة (ConversationBufferMemory) أو تخزين قاعدة بيانات.
س18: ما فائدة return_source_documents؟
الإجابة: يمكن للمستخدمين التحقّق من الإجابات وفهم مصدر المعلومات.
س19: كم مرة ينبغي تشغيل خدمة المزامنة؟
الإجابة: يعتمد على احتياجات الحداثة - عادة كل ساعة أو يوميًا.
س20: أي metadata ينبغي أن تملكها وثائق قاعدة المعرفة؟
الإجابة: المصدر، والمؤلف، والتاريخ، والقسم، والإصدار، ونوع الوثيقة.
س21: كيف تتعامل مع حذف وثيقة؟
الإجابة: احذفها من vector store بالمعرّف وحدّث قاعدة بيانات metadata.
س22: ما هو RBAC في RAG المؤسسي؟
الإجابة: Role-Based Access Control - أذونات بناءً على أدوار المستخدمين.
س23: كيف تنفّذ عرض المسؤول؟
الإجابة: تجاوز مرشّحات القسم لمستخدمي دور المسؤول.
س24: فيما يُستخدم مخزن إعدادات المستأجر؟
الإجابة: تخزين إعدادات كل مستأجر مثل اختيار النموذج وprompts والحدود.
س25: كيف توسّع RAG متعدد المستأجرين؟
الإجابة: موازنة الحمل، والتوسيع الأفقي، والنشر على Kubernetes.
س26: أي مراقبة لازمة لـ RAG بنموذج SaaS؟
الإجابة: زمن الاستجابة لكل مستأجر، ومعدّلات الأخطاء، والاستخدام، والتكاليف.
س27: كيف تتعامل مع النسخ الاحتياطي لبيانات المستأجر؟
الإجابة: نسخ احتياطية تلقائية منتظمة مع عزل المستأجرين.
س28: فيما تفيد لوحة الاستخدام؟
الإجابة: عرض الاستخدام والتكاليف ومقاييس الأداء للمستأجرين.
س29: كيف تنفّذ prompts مخصّصة لكل مستأجر؟
الإجابة: خزّن قوالب الـ prompt في الإعدادات وطبّقها عند الاستعلام.
س30: ما المخرج النهائي للمشروع؟
الإجابة: تطبيق RAG كامل قابل للنشر مع توثيق.
🎉 تهانينا!
لقد أكملت الوحدات العشر كلها من دورة أنظمة RAG الكاملة!