Machine Learning Mastery تعرض طريقة بناء RAG على scikit-learn دون قاعدة بيانات متجهات
نشر موقع Machine Learning Mastery دليلًا لبناء مسار RAG خفيف متكامل. يتولى scikit-learn البحث في المتجهات، بينما تتولى النماذج المفتوحة توليد التضمينات ومعالجة النصوص. لا يحتاج النموذج الأولي إلى قاعدة بيانات متجهات منفصلة ولا إلى واجهات API سحابية، فالمسار كله يتسع في سكربت Python واحد. • يجري البحث بالتقارب عبر أدوات scikit-learn. • تبني النماذج مفتوحة المصدر التضمينات. • يمكن تشغيل هذه المنظومة على حاسوب محمول مع المجموعات النصية الصغيرة.
معالج بواسطة الذكاء الاصطناعي من Machine Learning Mastery؛ بتحرير Hamidun News
نشر موقع Machine Learning Mastery في 13 أكتوبر 2026 دليلًا عمليًا لبناء مسار RAG متكامل على حزمة أدوات minimalist. أُسند البحث في المتجهات إلى scikit-learn، وبُنيت التضمينات ومعالجة النصوص على نماذج مفتوحة. لا تحتاج مرحلة النموذج الأولي إلى خوادم لقاعدة بيانات متجهات، ولا إلى بنية تحتية منفصلة، ولا إلى واجهات API مدفوعة. المادة تعليمية وليست إصدارًا لمنتج، لكنها تُظهر بوضوح القدر اليسير مما يلزم لتشغيل مخطط عملي من نوع «ابحث عن السياق ثم أجب».
يصف الإعلان الخطوط العامة للمخطط فقط، لذلك نستعرضه أدناه وفق خطوات RAG المعتادة. ولا نعيد هنا سرد المعلمات المحددة الواردة في النص الكامل للدليل.
مم يتكون المسار
يقوم RAG التقليدي على أربع عمليات. تُقطَّع المستندات إلى مقاطع، ثم تُحوَّل المقاطع إلى متجهات، ثم يُبحث عن أقرب المتجهات للاستعلام، ثم يُضاف النص المسترجع إلى الموجّه (prompt) المرسل إلى النموذج اللغوي. ويمكن جمع ذلك كله في ملف واحد.
في الدليل، تتولى نماذج التضمين المفتوحة عملية التحويل إلى متجهات، ويتولى scikit-learn البحث عن أقرب الجيران. وتوفر المكتبة لهذا السيناريو أدوات جاهزة: التشابه الجيبي (cosine similarity) والفئة NearestNeighbors. تبقى مصفوفة المتجهات في الذاكرة، ويُحوَّل الاستعلام إلى متجه بالبعد نفسه، ثم تُختار أعلى k نتيجة (top-k).
الملمح التقريبي لهذه المنظومة:
- البحث: scikit-learn، عبر التقارب الجيبي أو NearestNeighbors، بمقارنة شاملة دقيقة دون تقريب.
- التضمينات: نموذج مفتوح. يُنتج النموذج الشائع all-MiniLM-L6-v2، على سبيل المثال، متجهات من 384 بُعدًا.
- التخزين: مصفوفة NumPy في الذاكرة العشوائية.
- الحجم: 100 ألف مقطع بـ 384 بُعدًا بصيغة float32 تشغل نحو 150 ميغابايت.
- الاعتماديات: Python وscikit-learn ومكتبة لتحميل نموذج التضمين.
حُسبت أرقام الحجم انطلاقًا من أبعاد المتجه، ولم تؤخذ من المقال. وهي تعطي رتبة الحجم فحسب: 384 رقمًا بواقع 4 بايت لكل رقم تعني 1,5 كيلوبايت للمقطع الواحد.
لماذا الاستغناء عن قاعدة بيانات المتجهات
الميزة الأولى هي الشفافية. حين يُختزل البحث في ضرب المصفوفات والفرز، يتضح ما يجري في كل خطوة. يمكنك طباعة قيم التشابه، ومعرفة المقطع الذي فاز ولماذا، وملاحظة فورًا أن المقاطع (chunks) قُطّعت تقطيعًا سيئًا. أما في الأنظمة المتخصصة فيختبئ جزء من هذه الآلية خلف واجهة API.
الميزة الثانية هي انخفاض كلفة البداية. لا يتطلب النموذج الأولي حسابات ولا مفاتيح ولا استدعاءات عبر الشبكة. وهذا يكفي لقاعدة معرفة داخلية من بضعة آلاف الصفحات، أو لتدريب الفريق. فالمقارنة الشاملة الدقيقة على هذه الأحجام تنتهي في أجزاء من الثانية، ولذلك لا تضيف الفهارس التقريبية مثل HNSW شيئًا.
الميزة الثالثة هي قابلية إعادة الإنتاج. ثبّت إصدارات المكتبات والنموذج، وستتطابق نتيجة زميلك مع نتيجتك.
أين تبلغ هذه المنظومة سقفها
يتدرج المقارنة الشاملة خطيًا مع حجم البيانات. وحين تصل المجموعة النصية إلى ملايين المقاطع، يبدأ زمن الاستجابة والذاكرة في التأثير سلبًا، وسيتعين الانتقال إلى FAISS أو pgvector أو Qdrant أو بدائل مماثلة. كما تقع الشروط الإضافية على عاتق المطوّر: عوامل التصفية حسب البيانات الوصفية، وصلاحيات الوصول، والتحديث التدريجي للفهرس. وفي scikit-learn يجب كتابة هذا كله يدويًا.
أما جودة الإجابة فلا تتوقف على مكتبة البحث، بل على ثلاثة أمور: طريقة تقطيع النص، ونموذج التضمين المختار، وبنية الموجّه (prompt). والانتقال إلى مخزن أقوى لن يحل هذه المشكلات.
كيف تستخدمه عمليًا
ابدأ بمجموعة نصية صغيرة، مثل وثائقك أو الأسئلة الشائعة (FAQ)، وابنِ المسار في سكربت واحد. أعدّ 20–30 سؤالًا اختباريًا بإجابات معروفة، واحسب نسبة الحالات التي يقع فيها المقطع المطلوب ضمن top-3. وهذا المقياس، hit rate، سيكشف جودة البحث قبل أن تضيف مرحلة التوليد.
بعد ذلك غيّر متغيرًا واحدًا في كل مرة: حجم المقطع، أو نموذج التضمين، أو قيمة k. فإذا ارتفع المقياس، فالمخطط يعمل. وحين تتجاوز المجموعة النصية أو الحمل حدود ذاكرة جهاز واحد، استبدل كتلة البحث بقاعدة بيانات متجهات إنتاجية. ويبقى بقية الشيفرة على حاله، لأن الواجهة «متجه الاستعلام مدخلًا وقائمة المقاطع مخرجًا» واحدة في الخيارين.
Access Frontier LLMs & Multimodal AI in One Workspace
Discover NomadNet AI (nomadnet.ai) — unified access to frontier language models, research synthesis, and multimodal workflows.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.