المشكلة
البحث المتّجهي وحده يقطّع المستندات إلى مقاطع ويأمل أن يعود المقطع الصحيح. في المستندات العربية الحقيقية غير المرتّبة كثيراً ما لا يحدث ذلك: الحقائق المترابطة تقع في مقاطع مختلفة، فيملأ النموذج الفراغ بالتخمين.
ماذا بنيت
بصفتي مهندس ذكاء اصطناعي في RA Development، بنيت خطوط Graph RAG على Neo4j وLangChain:
- يستخرج Gemini 2.5 Flash الكيانات والعلاقات من النص العربي ويكتبها في رسم معرفي.
- الخط نفسه بالإنجليزية يعمل بنماذج Groq Llama، لمقارنة اللغتين جنباً إلى جنب.
- تصحيح العلاقات على مرحلتين: مرحلة ثانية تصلح الروابط التي فاتت الاستخراج الأول أو أخطأ فيها.
- استرجاع هجين: التنقّل في الرسم يعيد الحقائق المترابطة، والبحث المتّجهي يلتقط الصياغة.
- مقارنة أداء Pinecone وChromaDB كطبقة متّجهات، وتصميم API عام، وخطة توسّع لمنصة SaaS متعددة المستأجرين.
النتيجة
مع رسم معرفي غني خلفه، اقترب نموذج بحجم 7B من جودة إجابات نموذج بحجم 70B. الاسترجاع الأفضل يتيح نموذجاً أصغر وأرخص وأسرع، وهذا مهم حين يكون لكل إجابة تكلفة.
ماذا بعد
النهج نفسه يعمل اليوم في الإنتاج داخل فهيم، المساعد العربي الذي تدرّبه الشركات على مستنداتها.


