إنتقل إلى المحتوى الرئيسي

الامتحان النهائي: أنظمة RAG الكاملة

تقييم شامل يغطّي الوحدات العشر كلها. 50 سؤالًا تختبر إتقانك لمفاهيم RAG وتنفيذها.


التعليمات​

  • أجب عن الأسئلة الخمسين كلها
  • كل سؤال يساوي نقطتين
  • درجة النجاح: 70% (70 نقطة)
  • الوقت المقترح: 60-90 دقيقة

الجزء 1: الأساسيات (س1-10)​

س1: علامَ يشير RAG وما الغرض الرئيسي منه؟

الإجابة: Retrieval-Augmented Generation. يعزّز نماذج LLM بتزويدها بوثائق مسترجعة ذات صلة كسياق لإجابات أدق ومثبتة.

س2: سمِّ المراحل الثلاث الرئيسية لخط أنابيب RAG.

الإجابة: 1) الفهرسة (دون اتصال)، 2) الاسترجاع (متصل)، 3) التوليد (متصل).

س3: ما المشكلات الأربع الرئيسية التي يعالجها RAG لنماذج LLM؟

الإجابة: 1) الهلوسات، 2) انقطاع المعرفة، 3) غياب الوصول إلى البيانات الخاصة، 4) حدود الـ tokens/السياق.

س4: اشرح الفرق بين RAG وfine-tuning.

الإجابة: يضيف RAG المعرفة عبر الاسترجاع (ديناميكي وقابل للتحديث)؛ يغيّر fine-tuning سلوك النموذج (ثابت ويتطلّب إعادة تدريب).

س5: ما حجم الـ chunk والتداخل النموذجي لأنظمة RAG؟

الإجابة: حجم الـ chunk: 500-1500 حرف؛ التداخل: 10-20% من حجم الـ chunk (مثلًا 200 حرف لـ chunks من 1000 حرف).

س6: ما هي embeddings ولماذا هي مهمة لـ RAG؟

الإجابة: تمثيلات متجهية كثيفة للنص تلتقط المعنى الدلالي. تمكّن البحث بالتشابه لإيجاد الوثائق ذات الصلة.

س7: ما هو cosine similarity وما نطاقه؟

الإجابة: مقياس يقيس الزاوية بين المتجهات؛ النطاق من -1 إلى 1 (1 = الاتجاه نفسه، 0 = متعامد).

س8: سمِّ ثلاث قواعد بيانات متجهية شائعة.

الإجابة: أي ثلاث من: Pinecone، Weaviate، Chroma، Qdrant، Milvus، pgvector، FAISS.

س9: ما هو HNSW ولماذا يُستخدم كثيرًا؟

الإجابة: Hierarchical Navigable Small World - خوارزمية قائمة على الرسوم البيانية للبحث التقريبي السريع عن أقرب جار بجودة جيدة.

س10: ما هو المسترجع في LangChain؟

الإجابة: مكوّن يأخذ استعلامًا ويعيد الوثائق ذات الصلة من vector store.


الجزء 2: معالجة الوثائق (س11-18)​

س11: سمِّ ثلاثة أنواع من محمّلات الوثائق في LangChain.

الإجابة: أي ثلاث من: PyPDFLoader، TextLoader، CSVLoader، WebBaseLoader، UnstructuredPDFLoader، Docx2txtLoader.

س12: ما هو RecursiveCharacterTextSplitter وكيف يعمل؟

الإجابة: مقسّم نص يحاول التقسيم حسب الفقرة ثم الجملة ثم الكلمة ثم الحرف، متبعًا تسلسل فواصل.

س13: لماذا يُعد تداخل الـ chunks مهمًا؟

الإجابة: يمنع قطع المعلومات عند حدود الـ chunks ويحافظ على السياق بينها.

س14: كيف ينبغي التعامل مع الجداول في الوثائق؟

الإجابة: أبقِ الجداول كـ chunks مفردة للحفاظ على البنية؛ استخدم مستخرجات متخصّصة مثل Camelot لملفات PDF.

س15: ما هو OCR ومتى يُحتاج إليه؟

الإجابة: التعرف الضوئي على الحروف - لازم لملفات PDF الممسوحة والصور حيث النص غير قابل للقراءة آليًا.

س16: أي metadata ينبغي الحفاظ عليها أثناء معالجة الوثائق؟

الإجابة: ملف المصدر، رقم الصفحة، فهرس الـ chunk، التاريخ، المؤلف، نوع الوثيقة، وأي سمات خاصة بالمجال.

س17: ما هو التقسيم الدلالي (semantic chunking)؟

الإجابة: تقسيم النص بناءً على التشابه الدلالي بدل عدد أحرف ثابت.

س18: كيف تتعامل مع ملفات CSV كبيرة جدًا؟

الإجابة: عالجها على دفعات باستخدام pandas chunksize أو مقاربات بث مماثلة.


الجزء 3: Embeddings (س19-25)​

س19: ما الذي يحدّد جودة الـ embedding؟

الإجابة: معمارية النموذج، وبيانات التدريب، وعدد الأبعاد. استخدم معايير MTEB للمقارنة.

س20: سمِّ نموذجي embedding تجاريين واثنين مفتوحَي المصدر.

الإجابة: تجاريان: OpenAI text-embedding-3، Cohere embed-v3. مصدر مفتوح: BGE، E5، Sentence Transformers.

س21: ما هو MTEB؟

الإجابة: Massive Text Embedding Benchmark - المعيار القياسي لمقارنة جودة نماذج embedding.

س22: متى ينبغي التفكير في استضافة embeddings ذاتيًا؟

الإجابة: حجم كبير (>10M وثيقة)، متطلبات خصوصية البيانات، متطلبات زمن استجابة (<20ms)، أو تحسين التكلفة.

س23: ماذا يحدث إذا استخدمت نماذج embedding مختلفة للفهرسة والاستعلام؟

الإجابة: يفشل الاسترجاع أو يكون أداؤه ضعيفًا جدًا - يجب أن تكون المتجهات من النموذج نفسه لتكون قابلة للمقارنة.

س24: ما المقايضة مع أبعاد embedding أعلى؟

الإجابة: جودة أفضل لكن تخزين أكثر وبحث أبطأ.

س25: كيف يعمل تقليل الأبعاد في text-embedding-3-large؟

الإجابة: يقطع معامل الأبعاد المتجه مع الحفاظ على الجودة عبر تحسين أثناء التدريب.


الجزء 4: الاسترجاع (س26-32)​

س26: ما هو البحث الهجين؟

الإجابة: الجمع بين البحث بالكلمات المفتاحية (BM25) والبحث الدلالي المتجهي لنتائج أفضل.

س27: ما هو MMR ومتى تستخدمه؟

الإجابة: Maximum Marginal Relevance - يوازن بين الصلة والتنوّع. استخدمه عندما تريد نتائج متنوعة.

س28: ما هو reranking؟

الإجابة: إعادة تقييم نتائج الاسترجاع الأولية بنموذج أقوى (cross-encoder) لدقة أفضل.

س29: ما هو Reciprocal Rank Fusion؟

الإجابة: طريقة لدمج الترتيبات من عدة مسترجعات في ترتيب نهائي واحد.

س30: ما الفرق بين التصفية قبل الاسترجاع وبعده؟

الإجابة: قبل الاسترجاع: التصفية قبل البحث (أكثر كفاءة). بعد الاسترجاع: تصفية النتائج بعد البحث.

س31: ما هو HyDE؟

الإجابة: Hypothetical Document Embeddings - توليد إجابة افتراضية، تحويلها إلى embedding، واستخدامها للاسترجاع.

س32: ما هو استرجاع self-query؟

الإجابة: استخدام نموذج LLM لاستخراج استعلام دلالي ومرشّحات metadata من إدخال بلغة طبيعية.


الجزء 5: الأطر والتقييم (س33-40)​

س33: ما هو LCEL في LangChain؟

الإجابة: LangChain Expression Language - طريقة قابلة للتركيب لبناء chains باستخدام عامل الأنبوب (|).

س34: ما الفرق بين LangChain وLlamaIndex؟

الإجابة: LangChain: بناء chains لأغراض عامة. LlamaIndex: يركّز على فهرسة البيانات والاستعلام عنها.

س35: ماذا يفعل نوع السلسلة "stuff"؟

الإجابة: يضع كل الوثائق المسترجعة في prompt واحد - الأفضل للسياقات الصغيرة.

س36: ما هو RAGAS؟

الإجابة: Retrieval Augmented Generation Assessment - إطار لتقييم RAG تلقائيًا.

س37: سمِّ أربعة مقاييس RAGAS.

الإجابة: Faithfulness، answer_relevancy، context_precision، context_recall.

س38: ماذا يقيس faithfulness؟

الإجابة: ما إذا كانت الإجابة المولَّدة مثبتة في السياق المسترجع (مدعومة به).

س39: فيما يُستخدم LangSmith؟

الإجابة: تتبّع تطبيقات LangChain وتصحيح أخطائها ومراقبتها.

س40: كيف تصحّح خطأ «استُرجعت وثائق خاطئة»؟

الإجابة: اطبع الوثائق المسترجعة، تحقّق من حجم الـ chunk، تأكّد من نموذج embedding، واختبر باستعلامات معروفة.


الجزء 6: الإنتاج (س41-50)​

س41: ما هو التخزين المؤقت الدلالي؟

الإجابة: تخزين مؤقت للنتائج للاستعلامات المتشابهة دلاليًا (وليس التطابقات الدقيقة فقط).

س42: ما هو تعدّد المستأجرين في RAG؟

الإجابة: خدمة عدة مؤسسات من نظام واحد مع عزل البيانات.

س43: سمِّ مقاربتين لعزل المستأجرين.

الإجابة: 1) عزل عبر namespace، 2) تصفية metadata باستخدام tenant_id.

س44: ما الذي ينبغي تتبّعه للفوترة في RAG بنموذج SaaS؟

الإجابة: الاستعلامات، الـ tokens المستخدمة، الوثائق المفهرسة، التخزين المستخدم.

س45: ما هو حقن الـ prompt؟

الإجابة: إدخال خبيث مصمَّم للتلاعب بسلوك نموذج LLM.

س46: كيف تمنع حقن الـ prompt؟

الإجابة: التحقّق من الإدخال، والتنظيف، وتصميم prompt آمن.

س47: ما الذي ينبغي تسجيله للتدقيق في RAG الإنتاجي؟

الإجابة: معرّف المستخدم، الاستعلام، الوثائق التي تم الوصول إليها، الطابع الزمني، metadata الإجابة.

س48: عند أي نطاق ينبغي التفكير في sharding؟

الإجابة: حوالي مليون وثيقة فأكثر تتطلّب عادةً sharding.

س49: ما هي الفهرسة القائمة على الطوابير؟

الإجابة: إضافة الوثائق إلى طابور للمعالجة الخلفية غير المتزامنة.

س50: ما العامل الرئيسي في جودة إجابة RAG؟

الإجابة: جودة الاسترجاع - إذا استرجعت الوثائق الصحيحة، يمكن لنموذج LLM توليد إجابات جيدة.


التقييم​

الدرجةالتقديرالتقييم
90-100Aممتاز - خبير RAG
80-89Bجيد - فهم متين
70-79Cناجح - راجع النقاط الضعيفة
60-69Dدون النجاح - يحتاج مزيدًا من الدراسة
<60Fمراجعة جوهرية مطلوبة

🎉 تهانينا!​

إذا أكملت هذا الامتحان والدورة، فأنت تملك الآن معرفة شاملة بأنظمة RAG. واصل البناء والتجريب!


العودة إلى الصفحة الرئيسية | المسرد | الموارد