ما بنية RAG؟ تعريف شامل مع أمثلة عملية مفصّلة

بنية RAG هي مجموعة المكونات التي تخزّن المعلومات الخارجية وتسترجعها وتقدّمها إلى النموذج اللغوي الكبير؛ ويستعرض هذا الدليل 10 أنواع، بدءًا من RAG الأساسي والهجين ووصولًا إلى RAG الوكيلي وGraphRAG، مع مثالين يوضحان العملية خطوة بخطوة.

Diagram of the types of RAG architecture branching from a central hub: basic, hybrid, adaptive, corrective (CRAG), self-RAG, multimodal, agentic, GraphRAG, HyDE, and branched.

RAG، وهو اختصار لـ retrieval augmented generation (التوليد المعزَّز بالاسترجاع)، هو عملية تستخدم فيها النماذج اللغوية الكبيرة (LLMs) معلومات خارجية للتوسع في مخرجاتها وتحسينها. أما بنية RAG فهي مجموعة المكونات والروابط التي تجعل RAG ممكنًا.

هناك عدة فئات مختلفة من RAG، ولكل منها بنيتها الفريدة الخاصة. وفي جوهر الأمر، تحدد بنية نظام RAG الطريقة الفريدة التي تُخزَّن بها المعلومات وتُسترجَع وتُقدَّم إلى النموذج اللغوي الكبير.

ما بنية RAG؟

بنية RAG هي التكوين الأساسي للمكونات (والقدرات المرتبطة بها) الذي يشغّل نظام RAG معينًا. وتستند جميع هذه البنى إلى قالب تأسيسي يُشار إليه غالبًا باسم RAG «البسيط» أو «الساذج».

إليك نظرة عامة على بنية RAG التأسيسية:

  • مصدر المعلومات: هو المكان الذي تُخزَّن فيه المعلومات الخارجية. وقد يكون فهرس بحث، أو قاعدة بيانات متجهية تمثّل كميات كبيرة من المعلومات، أو مستودع مستندات خامًا.
  • مكوّن الاسترجاع: هو الآلية التي يُستعلَم بها من مصدر المعلومات. فقد يستخدم نظام RAG، على سبيل المثال، بحثًا بسيطًا بالكلمات المفتاحية للعثور على أجزاء النص ذات الصلة، أو استعلامات متجهية أكثر تعقيدًا لإجراء بحث عن التشابه.
  • مكوّن التنسيق: هذه الطبقة هي الجزء من التطبيق القائم على النموذج اللغوي الكبير الذي يُطلق مسار RAG استجابةً لموجّه المستخدم، إما بالتعاون مع النموذج اللغوي الكبير أو بشكل مستقل. كما يجمع المعلومات المسترجَعة في موجّه موسَّع.

تُنظَّم مكونات بنية RAG عادةً في مسارين. يأخذ مسار الاستيعاب البيانات وينظّمها في مصدر معلومات قابل للبحث. وتُعدّ قواعد البيانات المتجهية، التي تُحوَّل فيها كميات كبيرة من النصوص إلى مستودع قابل للبحث من التضمينات المتجهية، من أكثر التطبيقات استخدامًا.

أما مسار الاسترجاع فيأخذ موجّه المستخدم ويُنشئ استعلامًا للبحث في مصدر المعلومات. ثم يضيف المنسّق المعلومات المسترجَعة إلى سياق مُدخلات النموذج اللغوي الكبير. وفي بنى RAG الوكيلية والهجينة، قد تتعدد مسارات الاسترجاع.

أنواع بنية RAG

من المضلِّل النظر إلى RAG على أنه بنى منفصلة تمامًا. إذ يتبع معظم المهندسين نهجًا قائمًا على الوحدات، فينفّذون مكونات منفصلة تلائم حالات استخدام محددة. ورغم إمكانية رسم حدود تقريبية، من المهم ملاحظة وجود تداخل كبير بين نماذج البنى.

1. RAG الأساسي

RAG الأساسي، ويُسمّى أيضًا RAG «الساذج» أو «البسيط»، هو القالب المعماري لأنواع RAG الأخرى.

العملية الأساسية بسيطة نسبيًا: يُدخل المستخدم موجّهًا، فيحدد المنسّق ما إذا كانت هناك حاجة إلى معلومات خارجية (إما بشكل مستقل أو بالتعاون مع النموذج اللغوي الكبير)، ثم يصوغ استعلام استرجاع ويرسله وفقًا لذلك.

يكون مصدر المعلومات الخارجي عادةً قاعدة بيانات متجهية، لكنه قد يكون أيضًا قاعدة بيانات SQL، أو واجهة برمجة تطبيقات (API) على الويب، أو رسمًا بيانيًا معرفيًا، أو حتى مستودع مستندات «خامًا». ثم تُضاف هذه المعلومات الإضافية إلى سياق مُدخلات النموذج اللغوي الكبير.

بخلاف استعلامات SQL وواجهات API، هناك نوعان رئيسيان من أساليب الاسترجاع:

  • البحث المعجمي (البحث بالكلمات المفتاحية): هذا شكل بسيط من RAG تُستخرَج فيه الكلمات المفتاحية من استعلام المستخدم وتُطابَق مع مقاطع النص التي تحتوي على تلك الكلمات. وفي المسارات الحديثة، قد يُجري المنسّق لهذا الغرض ما يُعرف باستعلام المتجهات المتناثرة، الذي لا يلتقط المعنى.
  • البحث بالمتجهات الكثيفة (البحث الدلالي): تلتقط التضمينات المتجهية الكثيفة المعنى. ويمكن للمنسّق الاستعلام من قاعدة بيانات متجهات كثيفة بطريقة تتيح التقاط معنى كلٍّ من موجّه المستخدم والمعلومات المصدرية.

يُعدّ استخدام الذاكرة أيضًا جزءًا مهمًا من بنية RAG. ويشير إلى كيفية استخدام النموذج اللغوي الكبير للسياق من الدردشات السابقة لبناء استعلام الاسترجاع، مما يرسّخه في السياق الأوسع للنقاش (أو لعدة نقاشات). ويُعدّ RAG المحادثي القاعدةَ في معظم روبوتات الدردشة، وإن كانت بعض حالات الاستخدام، مثل الرد على تذاكر الدعم، قد تستخدم RAG أحادي السؤال.

2. الهجين

يجمع RAG الهجين بين نوعين مختلفين من الاسترجاع، عادةً الاسترجاع بالكلمات المفتاحية والاسترجاع الدلالي. فيعثر البحث بالكلمات المفتاحية على المصطلحات المطابقة، بينما يعثر البحث القائم على المتجهات على المقاطع ذات المعنى المرتبط.

وقد تُستخدم أيضًا أشكال أخرى من الاسترجاع، مثل اجتياز الرسم البياني المعرفي أو استعلامات قواعد بيانات SQL. وغالبًا ما تسترشد العملية بمنطق توجيه، إما في صورة قواعد مبرمجة أو تصنيفٍ يجريه نموذجٌ للسؤال (وإن كان من الممكن أيضًا تشغيل مسارات متعددة في آنٍ واحد).

يدمج المنسّق النتائج وقد يعيد ترتيبها قبل تمريرها إلى النموذج اللغوي الكبير. وإعادة الترتيب هي عملية تعيين درجات صلة للأجزاء المسترجَعة بحيث يمنح النموذج اللغوي الكبير الأولوية للمعلومات الأكثر ملاءمة.

3. RAG التكيّفي

في RAG التكيّفي، يختار مكوّن توجيه استراتيجية استرجاع بناءً على متطلبات موجّه المستخدم، ثم ينفّذ المنسّق سير العمل المحدد.

في إطار العمل الأصلي (Adaptive-RAG)، كان نموذج أصغر يعمل مصنِّفًا ويختار بين عدم الاسترجاع، أو الاسترجاع أحادي الخطوة، أو الاسترجاع متعدد الخطوات. وتستخدم بعض البنى الآن بدلًا من ذلك نماذج توليدية أو أساليب إرشادية قائمة على القواعد.

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

4. RAG التصحيحي (CRAG)

يقيّم RAG التصحيحي المعلومات المسترجَعة قبل إضافتها إلى سياق مُدخلات النموذج اللغوي الكبير. إذ يقيّم مقيِّم الاسترجاع ما إذا كانت المعلومات المسترجَعة ذات صلة ومفيدة. والسمة المعمارية الفريدة هنا هي مرحلة التقييم والتصحيح الصريحة التي تسبق توليد الإجابة.

إذا تبيّن أن المعلومات غير مكتملة أو لا تنطبق على الموجّه، تُطلَق طلبات إضافية. وقد تتضمن هذه الطلبات أساليب استرجاع مختلفة عن تلك المستخدمة في الطلب الأصلي، مثل البحث على الويب أو اجتياز الرسم البياني المعرفي.

ويشيع RAG التصحيحي في المجالات التي تكون فيها الدقة مهمة، مثل الطب والقانون. ومع ذلك، فهو يتطلب مصدر معلومات إضافيًا يمكنه استكمال المقاطع المسترجَعة الأصلية.

5. Self-RAG

في Self-RAG، يمكن للنموذج بدء الطلبات بعد تلقي سياق المُدخلات الأولي. وتُقيَّم الإجابات المولَّدة مقابل الأدلة المسترجَعة باستخدام رموز التأمل (reflection tokens)، وتُرسَل طلبات أخرى عبر المنسّق حسب الحاجة. وفي المقابل، قد يقرر النموذج اللغوي الكبير أنه لا حاجة إلى الاسترجاع على الإطلاق.

ويختلف عن RAG التصحيحي في أن النموذج اللغوي الكبير يحكم على مخرجاته بنفسه، ويحدد ما إذا كانت هناك حاجة إلى الاسترجاع وما إذا كان النص المسترجَع مفيدًا، ويراقب إجاباته ويعدّلها حسب الحاجة. أما RAG التصحيحي، فيقيّم جودة المعلومات المسترجَعة قبل التوليد.

هذه البنية مفيدة بشكل خاص للموجّهات المعقدة على غرار البحث المتعمق. ولأنها تدمج تقييمات الصلة (للمعلومات المسترجَعة) في توليد الإجابة، فهي خيار جيد للموجّهات التي تتطلب ردودًا قائمة على الأدلة.

6. RAG الوكيلي

يشير RAG الوكيلي إلى أي شكل من أشكال RAG يُنفَّذ في سياق منصة وكيلية. إذ يستخدم النموذج قدرات الاستدلال لديه لتحديد نوع المعلومات المطلوبة، ويختار من بين خيارات الاسترجاع المتاحة.

يمكن إطلاق الاسترجاع عدة مرات حسب الحاجة، ولدى النموذج خيار تكليف وكلاء بالاستعلامات الأكثر تعقيدًا. فعلى سبيل المثال، قد يطلب النموذج اللغوي الكبير البحث في قاعدة بيانات لتحديد مورّد، ثم يُطلق بحثًا في المستندات للعثور على العقود ذات الصلة، وينتهي ببحث على الويب للتحقق من بيانات الاتصال باستخدام مصادر عامة.

يُعدّ RAG الوكيلي التطبيق المعماري الرئيسي في روبوتات الدردشة الشائعة مثل Perplexity وChatGPT وClaude وغيرها. ولأن هذه المنصات تمنح النموذج الأساسي إمكانية الوصول إلى أدوات ومسارات RAG متعددة، فإنه يستطيع اختيار شكل الاسترجاع الأنسب للموجّه.

7. RAG متعدد الوسائط

يسترجع RAG متعدد الوسائط السياق عبر أنواع مختلفة من الوسائط. وهو شكل مهم من RAG لأنه يتيح للنماذج اللغوية الكبيرة معلومات كان يتعذر عليها الوصول إليها لولاه، مثل المخططات والتسجيلات الصوتية.

البنية الأساسية هي نفسها كما في أي نظام آخر. فعلى سبيل المثال، قد يجهّز مسار الفهرسة الصور للبحث بتحويلها إلى تضمينات مباشرة. ويمكن لنظام RAG وكيلي بعد ذلك استرجاع هذه الصور إلى جانب النصوص ذات الصلة الدلالية وتقديمها إلى نموذج رؤية ولغة لمعالجتها معالجةً مزدوجة.

8. GraphRAG

يستخدم GraphRAG الرسوم البيانية المعرفية إلى جانب البحث المتجهي لاسترجاع المعلومات المتعلقة بالكيانات. وعادةً ما يعثر المنسّق على كيانات البداية ذات الصلة، التي تُسمّى أيضًا العُقد، باستخدام استخراج الكلمات المفتاحية أو أحيانًا بحث متجهي أولي. ثم يجتاز مسترجِع الرسم البياني رسمًا بيانيًا معرفيًا لبناء سياق أوسع.

فعلى سبيل المثال، استجابةً لطلب تفصيل دقيق لفئة منتجات، قد يُطلق النموذج اللغوي الكبير بحثًا متجهيًا لتحديد كيانات معينة (المنتجات). ثم يُطلق المنسّق بحثًا في الرسم البياني المعرفي للعثور على الكيانات المرتبطة، مثل الموردين ومواقع البيع بالتجزئة والمراجعات وغيرها.

9. RAG المتفرّع

بينما تمتلك بنية RAG الهجينة القدرة على استخدام أساليب استرجاع مختلفة، يشير RAG المتفرّع إلى عملية تشغيل استعلامات متعددة، تُسمّى الفروع، في الوقت نفسه. ويمكن لكل فرع الاستعلام من مصدر معلومات منفصل، أو يمكن للفروع الاستعلام من المصدر نفسه بالتوازي باستخدام استعلامات أو عوامل تصفية مختلفة. وغالبًا ما تستخدم بنية RAG الوكيلية RAG المتفرّع.

10. HyDE (تضمينات المستندات الافتراضية)

HyDE شكل مبتكر من RAG يُنشئ فيه النموذج اللغوي الكبير مستندًا نصيًا افتراضيًا يحاكي الشكل الذي قد تبدو عليه الإجابة المثلى. ثم يُستخدم هذا «المستند الافتراضي» لإنشاء استعلام يحقق استرجاعًا أدق. ومع أن المعرفة ذات الصلة غير ممثَّلة في معلَمات النموذج اللغوي الكبير، فإن المنطق وراء ذلك هو أن مقطعًا شبيهًا بالإجابة قد يطابق المستندات ذات الصلة بشكل أفضل مما يطابقها سؤال قصير أو موجّه غامض.

مثال على بنية RAG بسيطة: قاعدة بيانات متجهية

يُشكّل RAG الأساسي الأساس لأنواع البنى الأكثر تعقيدًا. ففي حالة نظام RAG بسيط يستخدم قاعدة بيانات متجهية، تُقسَّم المستندات المصدرية إلى أجزاء أصغر (chunks) وتُحوَّل إلى تضمينات كثيفة. وعندما يُدخل المستخدم موجّهًا، يُنشئ المنسّق استعلامًا ويرمّزه، ثم يستعلم من قاعدة البيانات للعثور على المقاطع ذات الصلة.

إليك شرحًا تفصيليًا للعملية خطوة بخطوة:

  1. تُحوَّل كميات كبيرة من النصوص إلى متجهات باستخدام مسار استيعاب آلي ونموذج تضمين مثل BERT.
  2. ينظّم تطبيق قاعدة البيانات المتجهات ويفهرسها ويخزّنها لإتاحة البحث السريع.
  3. يُدخل المستخدم موجّهًا في روبوت دردشة (مثل Perplexity).
  4. يرمّز منسّق التطبيق الموجّه (باستخدام نموذج تضمين) لاسترجاع المعلومات ذات الصلة من قاعدة البيانات المتجهية.
  5. تُعيد قاعدة البيانات المتجهية الأجزاء ذات الصلة، فيضيفها المنسّق إلى سياق المُدخلات («الموجّه الكبير») ويقدّمه إلى النموذج اللغوي الكبير.
  6. يستخدم النموذج اللغوي الكبير السياق الإضافي لتوليد إجابة بالاستعانة بمعرفته الداخلية (المخزّنة في أوزانه البارامترية).

مثال على بنية RAG متقدمة: RAG الوكيلي

يشير RAG الوكيلي إلى البنية الأساسية لأنظمة RAG ضمن منصة وكيلية. وتميل تدفقات RAG الوكيلي إلى التعقيد لأن وكلاء الذكاء الاصطناعي يمكنهم استدعاء أدوات ومسارات مختلفة بحسب طبيعة الموجّه، ونشر وكلاء متعددين عند الضرورة.

إليك مثالًا عمليًا على العملية:

  1. يُدخل المستخدم سؤالًا معقدًا يتطلب بحثًا متعمقًا في موضوع ما. ولأغراض هذا المثال، لنفترض أن الموجّه هو: «قدّم توقعات لأرباح الشركة خلال الأشهر الستة المقبلة في ضوء الأحداث الجيوسياسية الكبرى».
  2. يستنتج النموذج اللغوي الكبير أن الأمر سيتطلب مزيجًا من استعلامات RAG عبر أنواع محتوى مختلفة.
  3. يُنشَر ثلاثة وكلاء مختلفون من أجل (أ) البحث المتجهي، و(ب) الإسناد إلى الويب، و(ج) البحث في الصور (متعدد الوسائط).
  4. يبحث الوكلاء عن المعلومات ذات الصلة، مثل الأخبار والبيانات المالية الداخلية، عبر المنسّق باستخدام أدوات الاسترجاع المتاحة.
  5. يقارن النموذج اللغوي الكبير النتائج المسترجَعة بسؤال البحث الخاص بكل وكيل، ويرتّبها حسب الصلة.
  6. يقيّم النموذج اللغوي الكبير المعلومات، ويُطلق عمليات بحث إضافية عبر وكلاء منفردين حيثما كانت المعلومات ناقصة.
  7. بعد استرجاع ما يكفي من المعلومات، يُنشئ النموذج اللغوي الكبير توقعات لسيناريوهات مختلفة بناءً على الأرقام المالية الحالية (المسترجَعة من المستندات الداخلية)، ويستدعي أداة حاسبة لتقدير الأرباح في كل سيناريو.
  8. يُنشئ النموذج اللغوي الكبير إجابة نهائية باستخدام المعلومات المسترجَعة والحسابات، مع الاستشهاد بالمصادر حسب الضرورة.

ما مستقبل RAG؟

تتمحور الابتكارات الحالية حول إضفاء العمق والسرعة على بنى RAG الحالية، وتحسين دقة استرجاع الوسائط المتعددة، وبناء أنظمة مصممة للتعامل مع أحدث المعلومات لحظةً بلحظة.

إليك ثلاثة اتجاهات تُشكّل حاليًا مسار الأبحاث:

  • البحث المتعمق عبر مصادر متعددة: هذه بنية RAG قادرة على تخطيط عمليات البحث، وتشغيل فروع متعددة عبر مصادر متباينة، وتقييم الأدلة المسترجَعة، والتحسين الذاتي للإجابات المولَّدة. ولا يزال RAG الوكيلي القادر على تنفيذ جميع هذه المهام يزداد سرعةً وفعاليةً من حيث التكلفة.
  • التطبيقات متعددة الوسائط: تتحسن مسارات الاسترجاع في التعامل مع الصور ومقاطع الفيديو. وباتت قادرة بشكل متزايد على تحديد أنواع معينة من المعلومات بدقة ضمن بيانات متعددة الوسائط معقدة، مثل مقاطع الفيديو الطويلة والمخططات المتقدمة.
  • إسناد الإجابات إلى معلومات متغيرة باستمرار: يمكن للتطبيقات القائمة على النماذج اللغوية الكبيرة الاستفادة من مصادر المعلومات الحية (مثل بث الفيديو وأجهزة الاستشعار) لتوفير سياق المُدخلات. كما يمكن للأنظمة إنشاء شبكات معلومات متعددة الأوجه، كما في GraphRAG، لتفسير هذه البيانات.

يُعدّ RAG أساسيًا في طريقة عمل التطبيقات القائمة على النماذج اللغوية الكبيرة. فهو يتيح لمجموعة واسعة من المستخدمين، من المستهلكين العاديين إلى المؤسسات العاملة في مجالات متخصصة، التغلب على المشكلات المتعلقة بالهلوسة، وبيانات التدريب غير المكتملة، وعدم القدرة على الوصول إلى المعرفة الداخلية المتخصصة.

ولهذا السبب، تمثّل أنظمة RAG وبنيتها الأساسية أحد أسرع مجالات أبحاث الذكاء الاصطناعي تطورًا وأكثرها إثارة.