بناء خط RAG مستضاف ذاتياً: من الوثيقة إلى الجواب
RAG يجعل النموذج يجيب من وثائقك أنت لا من معرفته العامة، بخمس خطوات: تقطيع، توليد متجهات، تخزين، استرجاع، توليد. استضافته ذاتياً تبقي بياناتك الحسّاسة داخل سيرفرك، ويكفيها سيرفر بـ8 إلى 16GB رام لقاعدة معرفة متوسطة.
خط RAG (التوليد المعزّز بالاسترجاع) هو الطريقة التي تجعل نموذجاً لغوياً يجيب من وثائقك أنت (عقود، سياسات، أدلّة، قاعدة معرفة) لا من معرفته العامة التي تدرّب عليها. الفكرة أن النموذج وحده لا يعرف بيانات شركتك، وحقنها كلها في السؤال مستحيل لأنها أكبر من نافذة السياق. الحل أن تبحث أولاً في وثائقك عن المقاطع المتعلّقة بالسؤال، ثم تمرّرها للنموذج مع السؤال ليصوغ الجواب منها. يمرّ ذلك بخمس خطوات: تقطيع الوثائق إلى مقاطع صغيرة، تحويل كل مقطع إلى متجه رقمي (embedding) يمثّل معناه، تخزين المتجهات في قاعدة متجهات، استرجاع أقرب المقاطع لسؤال المستخدم عند وقت السؤال، ثم توليد الجواب بنموذج لغوي معتمداً على تلك المقاطع. الميزة الكبرى للاستضافة الذاتية أن بياناتك الحسّاسة لا تخرج من سيرفرك إطلاقاً، فلا تُرسَل لأي واجهة ذكاء خارجية قد تحتفظ بها أو تعالجها خارج المملكة. عملياً، قاعدة معرفة متوسطة (آلاف الصفحات) تعمل بسلاسة على سيرفر بـ8 إلى 16GB رام يجمع نموذجاً مكمّماً عبر Ollama وقاعدة متجهات مثل pgvector. القاعدة العملية: ابدأ صغيراً بستاك مفتوح كامل على خادم سحابي واحد، واختبر جودة الإجابات على أسئلة حقيقية قبل التوسّع. في هذا الدليل نشرح مكوّنات RAG الخمسة بالتفصيل، ولماذا الاستضافة الذاتية تحمي بياناتك، وستاكاً عملياً جاهزاً، وحجم السيرفر المناسب لكل مرحلة.
المكوّنات الخمسة لخط RAG
فهم الخطوات الخمس يوضّح أين تُبنى الجودة وأين تُهدر. لنمرّ عليها بالترتيب من الوثيقة الخام إلى الجواب النهائي.
1. التقطيع (Chunking)
تُقسَّم كل وثيقة إلى مقاطع صغيرة متماسكة المعنى، غالباً بضع مئات من الكلمات لكل مقطع مع تداخل بسيط بينها. هذه الخطوة أهم مما تبدو، لأن مقاطع كبيرة جداً تخلط عدة أفكار فيضعف الاسترجاع، ومقاطع صغيرة جداً تفقد السياق. التقطيع الجيد المبني على حدود منطقية (فقرات، عناوين) يعطي نتائج أفضل بكثير من التقطيع الأعمى بعدد ثابت من الحروف.
2. توليد المتجهات (Embeddings)
كل مقطع يُمرَّر على نموذج متجهات يحوّله إلى قائمة أرقام تمثّل معناه في فضاء رياضي، بحيث تقترب المقاطع المتشابهة معنى من بعضها. هذا ما يتيح البحث بالمعنى لا بالكلمة الحرفية، فسؤال «كيف ألغي اشتراكي» يجد مقطعاً عن «إيقاف الخدمة» حتى لو اختلفت الكلمات. نماذج المتجهات المفتوحة تعمل محلياً عبر Ollama بلا إرسال بيانات للخارج.
3. التخزين في قاعدة متجهات
المتجهات تُحفَظ في قاعدة مخصّصة للبحث السريع بينها، مثل pgvector فوق PostgreSQL أو قاعدة متخصّصة مثل Qdrant. هذه القاعدة تجد أقرب المتجهات لمتجه السؤال في أجزاء من الثانية حتى بين ملايين المقاطع، عبر فهارس تقريبية مثل HNSW.
4. الاسترجاع (Retrieval)
عند وصول سؤال المستخدم، يُحوَّل هو نفسه إلى متجه، ثم تُستَرجَع أقرب المقاطع له من القاعدة (خمسة إلى عشرة مقاطع مثلاً). جودة هذه الخطوة تحدّد جودة الجواب كله، لأن النموذج لن يجيب صحيحاً إن لم تصله المقاطع الصحيحة أصلاً.
5. التوليد (Generation)
تُمرَّر المقاطع المسترجَعة مع السؤال إلى النموذج اللغوي، مع تعليمة أن يجيب من هذه المقاطع فقط، فيصوغ جواباً دقيقاً مستنداً لوثائقك، ويمكنه ذكر المصدر. هذا يقلّل «الهلوسة» كثيراً لأن النموذج يستند لنص حقيقي لا لذاكرته.
لماذا الاستضافة الذاتية تحمي بياناتك
حين تستخدم واجهة ذكاء خارجية لبناء RAG، فأنت ترسل وثائقك (وربما أكثرها حساسية) إلى خوادم طرف ثالث خارج سيطرتك وربما خارج المملكة. لعقد أو سياسة موارد بشرية أو بيانات عملاء، هذا خطر حقيقي على السرية والامتثال. الاستضافة الذاتية تقلب المعادلة: النموذج وقاعدة المتجهات والوثائق كلها على سيرفرك، فلا يغادر بايت واحد. هذا يمنحك ثلاث مزايا: سيادة كاملة على البيانات، وامتثالاً أسهل لمتطلبات إقامة البيانات السعودية، وتكلفة ثابتة بلا رسوم لكل استدعاء. الجهات الحكومية والشركات ذات الأنظمة المخصّصة تحديداً تجد في هذا حلاً لمعضلة أرادت الاستفادة من الذكاء دون تسريب أسرارها. بناء ذلك على سيرفر داخل الرياض بزمن استجابة نحو 8ms يجمع الخصوصية والسرعة معاً، راجع استضافة AI للبداية السريعة.
ستاك عملي جاهز للبداية
لا تحتاج أدوات معقّدة لتبدأ. ستاك مفتوح بالكامل يكفي: Ollama لتشغيل نموذج التوليد ونموذج المتجهات محلياً، وPostgreSQL مع إضافة pgvector كقاعدة متجهات، وأداة تنسيق تربط الخطوات مثل n8n (بلا كود) أو كود بسيط بلغتك. الأخير يستقبل الوثائق فيقطّعها ويولّد متجهاتها ويخزّنها، وعند السؤال يسترجع ويولّد. n8n خيار ممتاز للفرق التي تفضّل الربط المرئي، ويُستضاف ذاتياً هو الآخر فيبقى كل شيء داخل سيرفرك. البداية الأسرع أن تشغّل خادم AI في كلاود بقالب Open WebUI وOllama مثبّت مسبقاً، ثم تضيف pgvector وأداة التنسيق، فتصل لأول جواب من وثائقك في وقت قصير.
جدول: حجم السيرفر المناسب لكل مرحلة
| حجم قاعدة المعرفة | النموذج | الرام المقترحة | باقة كلاود |
|---|---|---|---|
| تجربة (مئات الصفحات) | 7B مكمّم | 8GB | أعمال 8GB (11,500 ريالاً) |
| متوسطة (آلاف الصفحات) | 7B إلى 13B مكمّم | 16GB | مؤسسة 16GB (18,000 ريالاً) |
| كبيرة (عشرات الآلاف) | 13B مكمّم | 16 + إضافة رام | مؤسسة + إضافة 2GB (600 ريال) |
ملاحظة: قاعدة المتجهات نفسها خفيفة نسبياً على الذاكرة مقارنة بالنموذج، فالنموذج هو المستهلك الأكبر للرام غالباً. إضافة الموارد في كلاود فورية، فتبدأ بباقة أعمال وتكبّر لمؤسسة حين تنمو قاعدتك بلا إعادة بناء، راجع خادم سحابي والأسعار والباقات.
متى تحتاج RAG ومتى يكفيك غيره
RAG ليس الحل لكل مهمة ذكاء، وفهم متى يناسب يوفّر عليك تعقيداً بلا داعٍ. تحتاجه حين يكون الجواب في وثائق خاصة بك يتغيّر محتواها ويكبر حجمها، مثل مساعد داخلي يجيب موظّفيك من أدلّة الشركة وسياساتها، أو خدمة تجيب عملاءك من قاعدة معرفة منتجك، أو نظام يبحث في عقود وأرشيف قانوني. في هذه الحالات حقن كل الوثائق في السؤال مستحيل، والبحث بالمعنى ثم التوليد هو الطريق. لكنك لا تحتاج RAG إن كانت مهمتك عامة يعرفها النموذج أصلاً (صياغة نص، ترجمة، تلخيص نص تعطيه إياه مباشرة)، فهنا النموذج وحده يكفي. كذلك لو كانت وثائقك صغيرة جداً تدخل في نافذة السياق كاملة، فقد يكفيك تمريرها مباشرة بلا بنية RAG. القاعدة: استخدم RAG حين تكون المعرفة كبيرة وخاصة ومتغيّرة، واكتفِ بالنموذج المباشر حين تكون المهمة عامة أو المعرفة صغيرة. البدء بالأبسط ثم التدرّج نحو RAG عند الحاجة أوفر وأوضح.
أخطاء شائعة تُضعف جودة الإجابات
أكثر ما يخيّب النتائج ليس النموذج بل الخطوات حوله. التقطيع السيّئ (مقاطع كبيرة تخلط الأفكار أو صغيرة تفقد السياق) يفسد الاسترجاع من البداية. استرجاع مقاطع قليلة جداً يحرم النموذج من السياق الكافي، وكثيرة جداً يشتّته ويملأ نافذة السياق بضجيج. إهمال جودة نموذج المتجهات يجعل البحث بالمعنى ضعيفاً فتصل مقاطع غير متعلّقة. أخيراً، عدم إعطاء النموذج تعليمة صريحة بالاعتماد على المقاطع فقط يجعله يخلط بين وثائقك ومعرفته العامة فيهلوس. القاعدة العملية: اختبر كل خطوة على حدة بأسئلة حقيقية، وحسّن التقطيع والاسترجاع أولاً قبل أن تلوم النموذج، فغالباً المشكلة قبله لا فيه.
خلاصة عملية
ابدأ بستاك مفتوح على خادم سحابي واحد: Ollama لنموذج مكمّم ونموذج متجهات، وpgvector للتخزين، وأداة تنسيق تربط الخطوات الخمس. جهّز قاعدة معرفة صغيرة أولاً واختبر جودة الإجابات على أسئلة فعلية من فريقك، وحسّن التقطيع والاسترجاع قبل التوسّع. طابق حجم السيرفر مع قاعدتك من الجدول: أعمال 8GB للتجربة، ومؤسسة 16GB للقاعدة المتوسطة. الأهم أن كل شيء يبقى داخل سيرفرك في الرياض، فتحصل على مساعد يجيب من معرفة شركتك وحدها، يحترم سرية بياناتك، ويعمل بتكلفة ثابتة. ابدأ اليوم بوثيقة واحدة وسؤال واحد، فأول جواب صحيح من وثائقك يثبت أن الفكرة تعمل، والباقي توسّع تدريجي في حجم القاعدة وعدد المستخدمين وجودة النموذج، كلٌّ في وقته وعلى قدر حاجتك الفعلية لا أكثر، فالبناء المتدرّج المدروس أنجح دائماً من محاولة بناء كل شيء دفعة واحدة من اليوم الأول.


