RAG: التوليد المعزز بالاسترجاع
مقدمة
لماذا "يتحدث ChatGPT بثقة عن هراء" أحيانًا؟ معرفة النماذج اللغوية الكبيرة تأتي من بيانات التدريب، لكن بيانات التدريب لها تاريخ انتهاء، ولا تحتوي على وثائق شركتك الداخلية. RAG (Retrieval-Augmented Generation، التوليد المعزز بالاسترجاع) هو التقنية الأساسية لحل هذه المشكلة - جعل الذكاء الاصطناعي "يبحث عن المعلومات" قبل الإجابة.
ماذا ستتعلم في هذا المقال؟
بعد إكمال هذا الفصل، ستكتسب:
- فهم المفاهيم الأساسية: معرفة ما هو RAG ولماذا نحتاجه وكيف يحل مشكلة "الهلوسة" في النماذج الكبيرة
- معرفة التدفق الكامل: إتقان التدفق الشامل من تحميل الوثائق والتقسيم والتحويل إلى متجهات إلى الاسترجاع والتوليد
- قدرة اختيار التقنية: فهم مزايا وعيوب استراتيجيات التقسيم وطرق الاسترجاع المختلفة، والقدرة على الاختيار حسب السيناريو
- رؤية تطور البنية: فهم مسار تطور RAG من Naive إلى Advanced إلى Modular
- قدرة اتخاذ القرار العملي: معرفة متى نستخدم RAG ومتى نستخدم الضبط الدقيق
| الفصل | المحتوى | المفاهيم الأساسية |
|---|---|---|
| الفصل 1 | التدفق الأساسي لـ RAG | المراحل الثلاث: الفهرسة، الاسترجاع، التوليد |
| الفصل 2 | استراتيجيات تقسيم النص | التقسيم الثابت، التقسيم الدلالي، التقسيم التكراري |
| الفصل 3 | تقنيات الاسترجاع | الاسترجاع المتجهي، الاسترجاع بالكلمات المفتاحية، الاسترجاع الهجين |
| الفصل 4 | تطور البنية | Naive RAG → Advanced RAG → Modular RAG |
| الفصل 5 | RAG مقابل الضبط الدقيق | مقارنة سيناريوهات الحلين |
0. النظرة الشاملة: لماذا تحتاج النماذج الكبيرة إلى "البحث عن المعلومات"؟
تخيل أنك أستاذ واسع المعرفة، قرأت عددًا لا يحصى من الكتب. لكن إذا سألك أحدهم "كم كانت بيانات مبيعات الشركة بالأمس"، بالتأكيد لا يمكنك الإجابة - لأن هذه المعلومات ليست في الكتب التي قرأتها.
تواجه النماذج اللغوية الكبيرة نفس المعضلة:
- المعرفة لها تاريخ انتهاء: بيانات تدريب GPT-4 تنتهي عند نقطة زمنية معينة، وما حدث بعدها لا تعرفه
- نقص المعرفة الخاصة: وثائق شركتك الداخلية وأدلة المنتجات وبيانات العملاء، لم يرها النموذج أبدًا
- عرضة للهلوسة: عندما يكون النموذج غير متأكد من الإجابة، يميل إلى "اختلاق" إجابة تبدو معقولة
الفكرة الأساسية لـ RAG
حل RAG بديهي جدًا: قبل جعل النموذج يجيب، ساعده في العثور على المواد المرجعية ذات الصلة. مثل الامتحان مفتوح الكتاب - لست بحاجة لتذكر كل المعرفة، فقط تحتاج لمعرفة أين تبحث وكيف تبحث.
RAG = استرجاع (Retrieval) + تعزيز (Augmented) + توليد (Generation)
1. التدفق الأساسي لـ RAG: الفهرسة، الاسترجاع، التوليد
يمكن تقسيم سير عمل RAG إلى مرحلتين: الفهرسة دون اتصال والاستعلام عبر الإنترنت.
مرحلة الفهرسة تشبه عمل الفهرسة في المكتبة - تصنيف جميع الكتب وترقيمها ووضعها على الرفوف، لتسهيل البحث لاحقًا. مرحلة الاستعلام عبر الإنترنت هي عملية بحث القارئ في المكتبة - العثور على الكتب ذات الصلة حسب السؤال، ثم تجميع المعلومات لإعطاء إجابة.
المراحل الأساسية الثلاث
- مرحلة الفهرسة (Indexing): تحميل الوثائق الأصلية وتنظيفها وتقسيمها، ثم تحويلها إلى متجهات من خلال نموذج التضمين، وتخزينها في قاعدة بيانات المتجهات. هذا عمل تحضيري لمرة واحدة.
- مرحلة الاسترجاع (Retrieval): عند سؤال المستخدم، تحويل السؤال أيضًا إلى متجه، والبحث في قاعدة بيانات المتجهات عن أكثر أجزاء الوثائق تشابهًا.
- مرحلة التوليد (Generation): تجميع أجزاء الوثائق المسترجعة مع سؤال المستخدم في Prompt، وتسليمها للنموذج الكبير لتوليد الإجابة النهائية.
| المرحلة | المدخلات | المخرجات | التقنية الأساسية |
|---|---|---|---|
| الفهرسة | الوثائق الأصلية | قاعدة بيانات المتجهات | تقسيم النص، نموذج التضمين |
| الاسترجاع | سؤال المستخدم | Top-K جزء وثيقة | تشابه المتجهات، إعادة الترتيب |
| التوليد | سؤال + سياق | الإجابة النهائية | هندسة Prompt، LLM |
2. تقسيم النص: وضع الفيل في الثلاجة
تقسيم النص هو أكثر خطوة يتم تجاهلها في RAG، لكنها الأكثر تأثيرًا على النتائج. لماذا نحتاج التقسيم؟ لأن نافذة السياق للنموذج الكبير محدودة، لا يمكننا وضع الكتاب كاملاً. والأهم من ذلك، جودة التقسيم تحدد مباشرة جودة الاسترجاع.
تخيل أنك تبحث عن نقطة معرفية معينة في كتاب في المكتبة. إذا كان الكتاب كاملاً "كتلة" واحدة، فلا فائدة من استرجاعه - لا يزال عليك تصفح الكتاب كاملاً. لكن إذا تم تقسيمه حسب الفصول أو حتى الفقرات، يمكنك تحديد موقع المحتوى الذي تحتاجه بدقة.
| 策略 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 📏 固定大小 | 实现简单,块大小均匀 | 可能在句子中间截断 | 结构化程度低的长文本 |
| 📝 按句子 | 保持句子完整性 | 块大小不均匀 | 文章、报告等自然文本 |
| 🧠 语义分块 | 主题连贯,语义完整 | 计算成本高,需要嵌入模型 | 多主题混合的复杂文档 |
| 🔄 递归分块 | 兼顾结构与大小 | 实现较复杂 | 通用场景,推荐默认选择 |
اختيار استراتيجية التقسيم
- التقسيم بحجم ثابت: التقسيم حسب عدد الأحرف أو tokens، بسيط ومباشر لكن قد يقطع الدلالة
- التقسيم التكراري: التقسيم أولاً حسب الفقرات، وإذا كانت الفقرة طويلة جدًا تقسم حسب الجمل، للحفاظ على سلامة الدلالة
- التقسيم الدلالي: استخدام نموذج التضمين لتحديد حدود الدلالة، والتقسيم عند نقاط تغير التشابه المفاجئ
- التقسيم حسب هيكل الوثيقة: استخدام معلومات الهيكل مثل عناوين Markdown ووسوم HTML للتقسيم
لا توجد استراتيجية تقسيم "أفضل"، فقط الاستراتيجية الأنسب لبياناتك. ينصح عمومًا بالبدء من التقسيم التكراري، حجم chunk 200-500 tokens، تداخل 10-20%.
3. تقنيات الاسترجاع: كيف نجد المحتوى الأكثر صلة؟
بعد اكتمال التقسيم، السؤال الرئيسي التالي هو: المستخدم يطرح سؤالاً، كيف نجد الأجزاء الأكثر صلة من بين آلاف أجزاء الوثائق؟
هذا مثل البحث عن كتاب في مكتبة ضخمة. يمكنك البحث حسب الكلمات المفتاحية في عنوان الكتاب (استرجاع بالكلمات المفتاحية)، أو يمكنك وصف المحتوى الذي تريده ودع أمين المكتبة يبحث لك (استرجاع دلالي)، والأفضل هو الجمع بين الاثنين (استرجاع هجين).
| طريقة الاسترجاع | المبدأ | المزايا | العيوب |
|---|---|---|---|
| استرجاع بالكلمات المفتاحية (BM25) | بناءً على تكرار الكلمة وتكرار الوثيقة العكسي | مطابقة دقيقة، سرعة عالية | لا يفهم الدلالة، المرادفات لا تعمل |
| استرجاع متجهي | بناءً على تشابه جيب التمام لمتجهات التضمين | يفهم الدلالة، يدعم المطابقة الغامضة | غير حساس للأسماء الخاصة |
| استرجاع هجين | دمج نتائج الاسترجاع بالكلمات المفتاحية والمتجهي | يراعي الدقة والدلالة معًا | يحتاج ضبط الأوزان، تعقيد عالٍ |
إعادة الترتيب (Reranking)
بعد استرجاع الوثائق المرشحة، عادة ما تحتاج خطوة "إعادة ترتيب". الاسترجاع الأولي يسعى لمعدل الاسترجاع (عدم تفويت أي شيء)، وإعادة الترتيب تسعى للدقة (وضع الأكثر صلة في المقدمة). نماذج إعادة الترتيب الشائعة تشمل Cohere Rerank و BGE Reranker وغيرها، تستخدم مبرمجًا متقاطعًا لتسجيل أزواج query-document بدقة.
4. تطور البنية: من البسيط إلى الذكي
تقنية RAG مرت بثلاثة أجيال من التطور في عامين فقط، كل جيل يحل نقاط الألم في الجيل السابق.
مقارنة أجيال RAG الثلاثة
- Naive RAG (2023): أبسط تدفق "فهرسة→استرجاع→توليد"، تنفيذ بسيط لكن النتائج محدودة. المشاكل تشمل: جودة استرجاع غير مستقرة، لا يمكن معالجة الاستعلامات المعقدة، سهولة إدخال سياق مشوش.
- Advanced RAG (2024): أضاف على أساس Naive RAG خطوات تحسين مثل إعادة كتابة الاستعلام والاسترجاع الهجين وإعادة الترتيب وضغط السياق، مما حسن بشكل كبير دقة الاسترجاع وجودة التوليد.
- Modular RAG (2025): تفكيك RAG إلى وحدات قابلة للتوصيل، تدعم قدرات متقدمة مثل توجيه المسار والاسترجاع التكيفي والتأمل الذاتي. يمكن اختيار تدفق المعالجة الأمثل ديناميكيًا حسب نوع الاستعلام.
5. RAG مقابل الضبط الدقيق: أيهما نختار؟
عندما تريد جعل النموذج الكبير يتقن معرفة مجال معين، عادة ما يكون هناك طريقان: RAG والضبط الدقيق (Fine-tuning). إنهما ليسا متنافيين، بل متكاملين.
للتشبيه: الضبط الدقيق مثل إرسال الطالب إلى دورة تدريبية، لاستيعاب المعرفة في الدماغ؛ RAG مثل إعطاء الطالب كتابًا مرجعيًا، يمكنه تصفحه أثناء الامتحان. لكل طريقة مزاياها وعيوبها، المفتاح هو احتياجاتك المحددة.
| البعد | RAG | الضبط الدقيق |
|---|---|---|
| تحديث المعرفة | تحديث فوري، تعديل الوثيقة يكفي | يحتاج إعادة تدريب |
| التكلفة | منخفضة (لا حاجة لتدريب GPU) | عالية (تحتاج موارد تدريب) |
| قابلية التفسير | عالية (يمكن تتبع المصادر) | منخفضة (المعرفة مدمجة في الأوزان) |
| السيناريو المناسب | أسئلة وأجوبة قاعدة المعرفة، استرجاع الوثائق | نقل الأسلوب، تحسين مهام محددة |
| التحكم في الهلوسة | جيد (هناك مرجع) | متوسط (قد تظل هناك هلوسة) |
نصيحة عملية
في معظم السيناريوهات، جرب RAG أولاً. مزايا RAG: لا يحتاج تدريب، المعرفة قابلة للتحديث الفوري، الإجابات قابلة لتتبع المصادر. فقط عندما تحتاج لتغيير "نمط سلوك" النموذج (مثل تنسيق الإخراج وأسلوب اللغة وطريقة الاستدلال)، فكر في الضبط الدقيق. أقوى حل غالبًا هو مزيج RAG + الضبط الدقيق.
الخلاصة
RAG هي واحدة من أكثر التقنيات عملية "لتطبيق" النماذج الكبيرة حاليًا. قيمتها الأساسية: جعل إجابات النموذج قابلة للتوثيق، والمعرفة قابلة للتحديث الفوري، والهلوسة قابلة للتحكم الفعال.
مراجعة النقاط الرئيسية لهذا الفصل:
- المشكلة الأساسية التي يحلها RAG: معرفة النموذج الكبير قديمة، نقص البيانات الخاصة، عرضة للهلوسة
- التدفق ثلاثي المراحل: الفهرسة (تحضير دون اتصال) → الاسترجاع (بحث عبر الإنترنت) → التوليد (إجابة مركبة)
- التقسيم هو الأساس: جودة التقسيم تحدد مباشرة جودة الاسترجاع، اختيار استراتيجية التقسيم المناسبة أمر بالغ الأهمية
- الاسترجاع هو المفتاح: الاسترجاع الهجين + إعادة الترتيب هو أفضل مزيج حاليًا
- البنية في تطور: من Naive RAG إلى Modular RAG، النظام يصبح أكثر ذكاءً ومرونة
- RAG والضبط الدقيق متكاملان: جرب RAG أولاً في معظم السيناريوهات، وفكر في الضبط الدقيق عند الحاجة لتغيير سلوك النموذج
قراءة إضافية
- دروس LangChain RAG - دليل عملي لأشهر إطار RAG
- توثيق LlamaIndex - إطار متخصص في RAG، يوفر موصلات بيانات غنية
- ورقة RAG Survey - مراجعة شاملة لتقنيات RAG
- استراتيجيات التقسيم - شرح مفصل لاستراتيجيات التقسيم من Pinecone
- مقارنة قواعد بيانات المتجهات - مقارنة وظائف قواعد بيانات المتجهات الرئيسية