هذا المقال يتطلب مستوى: متوسط. هتخرج منه فاهم إزاي تخلّي أي نموذج لغة يجاوب من بياناتك انت — ملفاتك، سياساتك، توثيق منتجك — بدل ما يخترع إجابة تبان مظبوطة وهي غلط.
التوليد المعزّز بالاسترجاع (RAG): النموذج يجاوب من مصدر، مش من ذاكرته
لو سألت ChatGPT عن سياسة استرجاع منتجك، هيرد بثقة بإجابة… غالبًا مخترعة. مش لأنه غبي، لكن لأنه ببساطة مشافش سياستك في التدريب. الحل مش إنك تدرّب نموذج من الأول. الحل اسمه RAG.
المشكلة باختصار
النموذج المدرّب معرفته مجمّدة عند لحظة انتهاء التدريب، ومحدودة بحجم نافذة السياق. أي معلومة خاصة بيك — عقد، تذاكر دعم، توثيق داخلي — هو مبيعرفهاش. ولمّا ميعرفش، بيكمّل بأكثر إجابة محتملة إحصائيًا، واللي بتطلع كلام متماسك لكنه ملوش أساس. ده اللي بنسمّيه هلوسة.
الطريقة الشائعة إن الناس بتحاول تحل ده بإنها تكتب البرومبت أطول وأطول وتلزّق فيه كل الوثائق. الطريقة دي بتفشل بسرعة: بتصطدم بحد نافذة السياق، وبتدفع تكلفة توكنات ضخمة على كل طلب حتى لو 99% من الوثائق مالهاش علاقة بالسؤال.
مثال بسيط: الامتحان مفتوح الكتاب
تخيّل طالبين في امتحان. الأول حافظ كل حاجة من بدري، فبيجاوب من دماغه، ولمّا ينسى بيألّف إجابة تبان واثقة. التاني امتحانه مفتوح الكتاب: قبل ما يكتب أي سؤال، بيفتح الفهرس، يلاقي الصفحة المظبوطة، يقراها، وبعدها يكتب الإجابة وهو باصص فيها.
الطالب التاني ده بالظبط هو RAG. النموذج نفسه لسه هو النموذج، لكن قبل ما يجاوب بنجيبله «الصفحة» الصح من مصادرك ونحطها قدامه في البرومبت. فبيتكلم من مصدر، مش من ذاكرة ناقصة.
يعني إيه RAG بالظبط (علميًا)
RAG اختصار Retrieval-Augmented Generation. الفكرة إنك بتضيف خطوة استرجاع قبل خطوة التوليد. المسار بيمرّ بخمس مراحل:
- التقطيع (Chunking): بتقسّم وثائقك لمقاطع صغيرة (فقرة أو 200-500 كلمة).
- التضمين (Embedding): بتحوّل كل مقطع لمتجه أرقام بيمثّل معناه. نموذج زي
all-MiniLM-L6-v2بيطلّع متجه من 384 رقم لكل مقطع. - الفهرسة: بتخزّن المتجهات في قاعدة بيانات متجهات (FAISS أو pgvector أو Qdrant).
- الاسترجاع: لمّا يجيلك سؤال، بتحوّله لمتجه بنفس النموذج، وتدوّر على أقرب
kمقاطع بتشابه جيب التمام (cosine similarity). - التوليد: بتحقن المقاطع دي في البرومبت مع السؤال، وتقول للنموذج «جاوب من السياق ده بس».
الفكرة الأساسية: المعنى المتقارب = متجهات متقاربة في الفضاء. فبدل ما تدوّر بالكلمة الحرفية، بتدوّر بالمعنى. سؤال «إزاي أرجّع المنتج؟» بيلاقي مقطع مكتوب فيه «سياسة الإرجاع خلال 14 يوم» حتى لو مفيش كلمة مشتركة بينهم.