مقدمة: لماذا نحتاج نظام RAG مقاومًا للهلوسة؟
أنظمة الاسترجاع المعزّز بالتوليد (RAG) تمكّن نماذج اللغة الكبيرة من الاعتماد على مصادر خارجية لتقليل الأخطاء وزيادة الدقّة في الإجابات، لكنها تظل عرضة لـ«الهلوسة»—أي توليد معلومات غير دقيقة أو مفبركة. تعريف موجز: RAG يجمع بين استرجاع مستندات غير معيارية (non‑parametric) ونموذج مولّد (parametric) ليولّد إجابات مستندة إلى أدلة خارجية.
في سياق اللغة العربية تظهر تحديات إضافية: الشكل الصرفي المتغيّر (اشتقاق، أل التعريف، حالات الإعراب في النصوص المقطوعة)، تعدّد اللهجات، وندرة بعض مصادر الوثوقية المهيكلة. لهذا، يجب تصميم طبقات فهرسة وإعادة ترتيب وفلترة تتعامل مع خصائص العربية وتُركّز على الشواهد (evidence) بدلًا من الاعتماد الكامل على قدرات التوليد الإبداعي.
استراتيجيات فهرسة هجينة (Sparse + Dense) عمليًا
أفضل الممارسات الحديثة تشير إلى الجمع بين الفهرسة القاموسية/اللفظية (مثل BM25) والفهرسة المتجهية (embeddings) لتغطية حالات المطابقة اللفظية والدلالية على السواء. أنظمة "الاستعلام التكيفي" وطرق الدمج الهجينة تحسّن الاسترجاع عبر تحويل وزن الاستعلام بين المكونات حسب خصائص الاستعلام والمجموعة الوثائقية.
مكونات عملية للفهرسة الهجينة
- التحضير اللغوي المخصّص للعربية: تطبيق تنظف النص (normalization) لعلامات التشكيل، الكسرة/الهمزة، وإزالة أدوات التشكيل غير المفيدة مع الحفاظ على كلمات المفتاح. استخدم stemmer أو lemmatizer مخصّص للعربية عند الحاجة.
- فهرس BM25 للمطابقات اللفظية: يحتفظ بالأسماء والدلالات السطحية—مهم للوثائق الرسمية والتواريخ والأسماء.
- فهرس متجهي (Dense) متعدد النماذج: أنشئ تمثيلات بواسطة نموذج متجهات متعدد اللغات/المحسن للعربية (يمكن تدريب/تعليم نقل على مَجمُوعتك). استخدم شريحة متجهية موازية للوثائق الطويلة عبر chunking ذكي مبني على وحدات دلالية، لا فقط على حجم الحروف.
- فهرسة هجينة موحّدة أو طبقية: إما توحيد الفهارس (OneSparse/OneIndex نهج موحّد) أو إبقاء فهارس منفصلة ثم مزج النتائج بوزنٍ قابل للتكيف أثناء الاستعلام. كلا النهجين لهما مزايا؛ التوحيد يبسط البُنية، والطبقي يسمح بتحكم أمثل في التكلفة والسرعة.
- التقطيع الدلالي والاحتفاظ بالسياق: استخدم chunking يعتمد على الفقرات أو الجمل الدلالية، ودوّن حدود الفقرات لتسهيل عرض قطع الأدلة (evidence snippets) الواضحة للمستخدم.
نصيحة قياسية: قِس أداء كل نظام استرجاع مستقلًا (افحص hit@k لكلٍ من BM25 والـ dense) ثم قيّم المزيج الهجين عبر NDCG/Recall على مجموعة استعلامات عربية مُوسّعة.
إعادة ترتيب النتائج وفلترة المصداقية: طبقات متعدّدة للثقة
أهم خطوة بعد الاسترجاع هي إعادة ترتيب النتائج (reranking). نموذجان بارزان لإعادة الترتيب هما: cross‑encoder (تقييم مزدوج للنص والسؤال بدقّة عالية) وLLM‑reranker (استخدام نموذج مولّد للتقييم المعنوي والمعياري). دراسات ومراجعات عملية أظهرت أن أفضل منهج تطبيقي هو: استدعاء سريع بـbi‑encoder لاستخراج مرشّحين ثم استخدام cross‑encoder لإعادة ترتيب مجموعة مصغّرة، وإذا دعت الحاجة يمكن استدعاء LLM‑reranker للقرارات المُعقّدة.
قواعد عملية لإعادة الترتيب
- استرجع top‑100 عبر bi‑encoder ثم rerank top‑10/20 عبر cross‑encoder لتوازن بين الدقّة والكمون.
- استخدم reranker متعدد الأهداف: لا تقيّم فقط الصلة، بل ضع وزنًا لصِفة المصداقية (هل الوثيقة مرجعيّة؟ هل تشير لمصدر موثوق؟).
- اعتمد reranking تكيفي: استعمل مؤشرات سريعة (مثل تباين المصادِر أو وجود تواريخ/مرجعيات) لتقرير ما إذا كان يلزم استدعاء reranker أغنى تكاليفيًا (LLM) أم لا.
أما بالنسبة لفلترة المصداقية (provenance / fact‑checking)، فهناك نهج خفيفة الوزن تعمل كمرشح بعد التوليد: تحقق من وجود سلاسل دليل متسقة بين المقاطع المرجعية والنموذج، واستخدم وحدة تحقق سريع تقارن بيانات المفتاح (تواريخ، أرقام، أسماء) بالوثائق المسترجعة. أبحاث حديثة عن أدوات provenance/fact‑check أثبتت فاعلية قواعد التحقق الخفيفة كمرحلة ما بعد‑الاسترجاع في تقليل إخراج المعلومات المفبركة.
مقاييس موصى بها: Evidence‑Precision (نسبة العبارات المدعومة بالمستندات) وAnswer‑Verifiability (نسبة الإجابات التي تُعطى روابط/مقتطفات مرجعية).
خارطة طريق تنفيذية ــ خطوات سريعة للانتقال إلى الإنتاج
فيما يلي خطة مختصرة قابلة للتنفيذ تتكون من مراحل موجزة، مع نقاط فحص لكل منها:
- بناء وتجهيز البيانات:
- اجمع مصادر عربية موثوقة (مواقع حكومية، أرشيفات إخبارية، قواعد بيانات أكاديمية)، وميّز نوع المستند (رسمِي، مدونة، مناقشة فورم).
- طبق preprocessing عربي: normalization، حذف noise، واستخراج metadata (تاريخ، مصدر، نوع المستند).
- فهرسة هجينة وتجارب A/B:
- أنشئ فهرس BM25 وفهرس متجهات، نفّذ استراتيجية blending قابلة للضبط (مثلاً وزن ثابت أو استعلام‑تكيّفي).
- قِس recall وNDCG لكل إعداد على مجموعة اختباريّة عربية ممثلة.
- إعادة الترتيب وفلترة الأدلة:
- ابدأ بـcross‑encoder مفتوح المصدر كمرحلة rerank، ثم قيّم الحاجة لاستخدام LLM‑reranker في الاستعلامات الحساسة.
- نفّذ طبقة provenance: إظهار أقسام الوثائق (snippets) كإثبات، واحتساب evidence‑score قبل قبول إجابة النموذج.
- مراقبة وإعدادات إنتاجية:
- تابع metrics: Evidence‑Precision, Factual‑Consistency, Latency, Cost. عيّن SLOs لإجابات مرجعية (مثلاً Evidence‑Precision ≥ 85%).
- أدرِج اختبارات هُجومية: prompt‑injection وqueries مصممة لاختبار Hallucination.
- واجهات المستخدم والشفافية:
- اعرض دائمًا المراجع/الاقتباسات بدلًا من إجابة بلا مصادر، وامنح المستخدم وسيلة لطلب «عرض الدليل» أو «التحقق المستقل».
ملحوظة أخيرة: قيّم اختيار النماذج والموارد وفق ميزان التكلفة مقابل الفائدة—الاستدعاءات المتكررة لنماذج reranker أو LLM قد تُحسّن الدقّة لكنها ترفع التكلفة والكمون. ابدأ بتصميم قابل للتدرج (bi‑encoder → cross‑encoder → LLM) مع سياسات فشل محافظة (fallback) تُقدّم إجابة مقيدة أو تطلب توضيح بدلًا من اختلاق معلومات.
خلاصة: بناء نظام RAG عربي مقاوم للهلوسة لا يعتمد على مكوّن واحد بل على مزيج محسوب: فهرسة هجينة متكيّفة، إعادة ترتيب متعددة الطبقات، وفلترة أدلة خفيفة الوزن قبل الإدراج في الإجابة. تطبيق هذه الطبقات مع قياسات واضحة ومجموعات اختبار عربية يجعل النظام عمليًا وموثوقًا للاستخدام في المنتجات والخدمات باللغة العربية.
إذا رغبت، أستطيع أنتِ/أنتَ أزوّدك بخريطة معمارية (diagram) قابلة للتطبيق، أمثلة كود لواجهة استدلال FastAPI، أو قائمة نماذج reranker مناسبة للعربية متاحة الآن للاختبار.