RAG، تعزيز الذكاء الاصطناعي بالاسترجاع
شرح تفصيلي لـRAG (Retrieval-Augmented Generation): كيف تربط LLM بمعرفتك الخاصّة، مع أمثلة بناء عملية.
RAG أهمّ تقنية عملية في تطبيقات LLMs الحديثة. تحلّ مشكلة الهلوسة، تعطي نماذج معلومات حديثة، وتفتح استخدامات لا حدود لها. هذا الدليل شامل بأمثلة.
المشكلة التي يحلّها RAG
النموذج اللغوي (GPT، Claude، Gemini):
- تدرّب حتى تاريخ معيّن (مثلاً يناير 2026)
- لا يعرف شركتك، وثائقك، بياناتك
- يُهلوس (يخترع) حين يُسأل عن شيء لا يعرفه
النتيجة:
- لا يستطيع الإجابة عن "ما سياسة الإرجاع في شركتنا؟"
- لا يعرف "من العميل رقم 12345؟"
- يخترع مصادر أكاديمية
الحلّ التقليدي (Fine-tuning):
- كلّف كثيراً
- بطيء
- يحتاج إعادة تدريب كل تحديث
الحلّ الأفضل (RAG):
- نُبقي النموذج كما هو
- نُضيف قاعدة معرفة خاصّة
- حين يُسأل، يبحث فيها ويجيب
كيف يعمل RAG
الخطوة 1: التحضير (مرّة واحدة)
- جمع المصادر: PDFs، Word، مواقع، قواعد بيانات
- التقسيم (Chunking): تقطيع النصوص لأجزاء صغيرة (500-1000 كلمة عادةً)
- التحويل لـEmbeddings: كل chunk يُحوَّل لمتّجه رقمي (Vector)
- التخزين: حفظ في Vector Database
الخطوة 2: الاستعلام (كل مرّة)
- المستخدم يسأل سؤالاً
- السؤال يُحوَّل لـEmbedding
- النظام يبحث في القاعدة عن أقرب Chunks (Similarity Search)
- يجد أعلى 3-10 chunks متعلّقة
- يُمرّرها للنموذج مع السؤال
- النموذج يجيب بناءً عليها
مثال بسيط
البيانات:
- 100 PDF قانون شركتك
السؤال:
- "ما مدّة الإجازة السنوية للموظّف الجديد؟"
النظام:
- يحوّل السؤال لـembedding
- يبحث في 1000 chunk من الـPDFs
- يجد chunk فيه: "الموظّف الجديد يستحقّ 15 يوم إجازة سنوية بعد إتمام سنة كاملة"
- يمرّره للنموذج
- النموذج يجيب: "حسب سياسة شركتكم، 15 يوم بعد إتمام سنة كاملة" + اقتباس المصدر
الأدوات
للاستخدام السريع (بلا كود)
1) Custom GPTs (ChatGPT Plus):
- ارفع PDFs في Knowledge
- ChatGPT ينشئ RAG تلقائياً
- استخدمه من الواجهة
2) Claude Projects (Pro):
- Projects مع مستندات
- كل محادثة تعرفها
3) NotebookLM (Google، مجاني):
- ارفع مصادر (PDFs، فيديوهات، مواقع)
- بحث ذكيّ بمصادر
4) Notion AI:
- تسأل عن محتوى Notion workspace
5) SharePoint + Copilot:
- الشركات على Microsoft 365
للمطوّرين
1) LangChain (Python/JS):
- الإطار الأشهر
- يدعم كل قواعد بيانات المتّجهات
- تكامل مع OpenAI، Anthropic، Cohere
مثال بسيط:
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.llms import OpenAI
from langchain.chains import RetrievalQA
from langchain.document_loaders import PyPDFLoader
# 1. تحميل PDF
loader = PyPDFLoader("company_handbook.pdf")
docs = loader.load()
# 2. تحويل لEmbeddings
embeddings = OpenAIEmbeddings()
db = Chroma.from_documents(docs, embeddings)
# 3. بناء نظام RAG
qa = RetrievalQA.from_chain_type(
llm=OpenAI(),
retriever=db.as_retriever()
)
# 4. استعلام
answer = qa.run("ما مدّة الإجازة السنوية؟")
print(answer)
2) LlamaIndex:
- بديل LangChain
- أبسط في بعض الحالات
- أفضل لبناء تطبيقات RAG سريعاً
3) Haystack (deepset):
- ألماني
- قوي للمؤسّسات
قواعد المتّجهات (Vector Databases)
| القاعدة | مميّزات | متى | |---|---|---| | Pinecone | مُدارة، سريعة، سهلة | Startups، prototype | | Weaviate | مفتوح، Multi-modal | مشاريع متوسّطة | | Chroma | خفيف، محلي، Python | تطوير، اختبار | | Qdrant | مفتوح، سريع | إنتاج | | Milvus | مفتوح، Scale ضخم | مؤسّسات كبرى | | pgvector (Postgres) | تكامل مع DB موجود | استخدامات صغيرة | | Azure AI Search | Microsoft، تكامل | مؤسّسات Microsoft |
خدمات مُدارة كاملة
- Azure OpenAI + Cognitive Search، Microsoft
- AWS Kendra + Bedrock، Amazon
- Vertex AI Search، Google
أنواع RAG
1) RAG الأساسي
كما شرحنا: بحث، تمرير، إجابة.
2) Advanced RAG
- Hybrid Search: دمج البحث الدلالي مع البحث بالكلمات (BM25)
- Re-ranking: نموذج ثانوي يُعيد ترتيب النتائج
- Query Rewriting: توسيع أو تحسين السؤال قبل البحث
- Multi-hop: يبحث عدّة مرّات لأسئلة معقّدة
3) Agentic RAG
- الوكيل يقرّر متى يبحث
- يفكّر خطوة خطوة
- يُقيّم إذا كان الجواب كافياً
4) Multi-Modal RAG
- يبحث في نصّ + صور + جداول + فيديو
- Gemini وGPT-4V يدعمان هذا
5) Graph RAG
- يستخدم Knowledge Graphs مع الاسترجاع
- أفضل للعلاقات المعقّدة
أمثلة استخدام حقيقية
1) شات بوت خدمة عملاء
- المصادر: FAQ، سياسات، أدلّة منتجات
- السؤال: أيّ استفسار عميل
- الرد: بناءً على المصادر مع اقتباس
الأثر: Klarna، Bank of America، شركات كثيرة تُقلّل 60-80% من عبء البشر.
2) مساعد قانوني داخلي
- المصادر: عقود، سوابق، أنظمة الشركة
- السؤال: "ما المسموح في عقود التوريد؟"
- الرد: بناءً على السياسات + الأنظمة
3) بحث علمي
- المصادر: 500 ورقة PDF
- السؤال: "ما أحدث الأبحاث في علاج X؟"
- الرد: ملخّص مع اقتباسات
4) FAQ ديناميكي
- المصادر: قاعدة أسئلة وإجابات
- الميّزة: يفهم صياغات مختلفة لنفس السؤال
5) مساعد HR
- المصادر: دليل الموظّف
- السؤال: أيّ استفسار (رواتب، إجازات، ترقيات)
- الرد: بناءً على السياسات
أفضل الممارسات
1) جودة الـChunks
- صغيرة جدّاً (< 100 كلمة): تفقد السياق
- كبيرة جدّاً (> 2000 كلمة): تشوّش النموذج
- الأنسب: 500-1000 كلمة لكل chunk
- Overlap: 100-200 كلمة تداخل بين chunks متتالية
2) اختيار Embedding Model
- OpenAI text-embedding-3-large: الأدقّ، مكلف
- OpenAI text-embedding-3-small: توازن جيّد
- Cohere Embed: منافس قوي
- BGE (BAAI): مفتوح المصدر ممتاز
- Nomic Embed: مفتوح المصدر مجاني
للعربية: BGE-M3 أو Cohere Multilingual الأفضل.
3) عدد الـChunks المسترجَعة (Top-K)
- Top-3: سريع، قد يفوت
- Top-10: يُفضّل عادةً
- Top-20+: قد يُشوّش النموذج
4) Prompt Template
أنت مساعد ذكيّ. أجب فقط بناءً على السياق التالي.
إذا لم تجد الإجابة، قل "لا أعرف من المصادر المتوفّرة".
اذكر رقم المصدر بين قوسين بعد كل ادّعاء.
السياق:
{context}
السؤال: {question}
الجواب:
5) إضافة الاقتباسات
- Citations: كل جملة مع مصدرها
- يزيد الثقة
- يُساعد المستخدم على التحقّق
6) التقييم
- مقاييس: Precision، Recall، MRR
- أدوات: Ragas، TruLens
- الاختبار البشري: عيّنة استعلامات، تقييم يدوي
القيود
1) جودة الاسترجاع = جودة الإجابة
إذا لم يجد الـChunks المناسبة، الإجابة سيّئة حتى مع أفضل LLM.
2) التكلفة
- Embeddings: 0.02-0.13$ لكل مليون توكن (OpenAI)
- التخزين: بحسب القاعدة (Pinecone 70$/شهر Starter، Chroma مجاني محلي)
- الاستعلامات: LLM API + Vector DB queries
تكلفة نموذجية: 50-500$/شهر لـRAG صغير-متوسّط.
3) الأمان
- بياناتك على السحابة
- التسريبات ممكنة
- حلّ: RAG محلي (Ollama + Chroma)
4) العربية
- الـEmbeddings الإنجليزية أدقّ من العربية
- حلّ: نماذج متعدّدة اللغات (Cohere Multilingual، BGE-M3)
5) التحديث
- إضافة PDF جديد → إعادة Embedding
- حلّ: أتمتة (Cron job، Watch folder)
RAG vs Fine-tuning vs Both
| المعيار | RAG | Fine-tuning | مزيج | |---|---|---|---| | التكلفة | منخفضة | عالية | عالية | | السرعة | فورية | أسابيع | أسابيع | | التحديث | لحظي | إعادة تدريب | مزيج | | الأنسب لـ | معرفة متغيّرة | أسلوب/سلوك | مؤسّسات ناضجة |
نصيحة: ابدأ بـRAG. إذا مشكلة السلوك (لا المعرفة) → أضف Fine-tuning.
RAG بالعربية، تحدّيات خاصّة
1) التقطيع (Chunking)
- الأدوات الأوّلية مصمّمة للإنجليزية
- الحلّ: مكتبة CAMeL Tools، أو تقسيم يدوي حسب علامات الترقيم
2) Embeddings
- الأفضل للعربية: BGE-M3، Cohere Multilingual
- OpenAI text-embedding-3-large جيّد لكن ليس الأمثل
3) الفصحى vs العامية
- إذا مصادرك فصحى وأسئلة المستخدم عامية = مشكلة
- الحلّ: تطبيع الأسئلة قبل البحث
4) الترجمة كخيار
- بعض التطبيقات: تترجم السؤال للإنجليزية → RAG → الإجابة → ترجمة للعربية
- يعمل، لكن يفقد الفروق
نموذج بناء عملي (30 دقيقة)
الأداة: NotebookLM (مجاني)
- اذهب إلى notebooklm.google.com
- أنشئ Notebook جديد
- حمّل المصادر (PDF، Word، YouTube، URL)
- اسأل عنها
- جاهز
هذا RAG كامل بلا كود، بلا خادم، مجاناً.
المصادر الرسمية
اقرأ أيضاً: Custom GPTs، كيف تبني GPT خاصّاً · Claude Artifacts و Projects · Deep Research و NotebookLM · OpenAI API، دليل البدء
هل أفادك هذا المقال؟
الأسئلة الشائعة
مقالات ذات صلة
الذكاء الاصطناعي العام (AGI): هل قريب؟ الجدل الكامل
شرح لجدل AGI، ما هو تعريفه الحقيقي، آراء Sam Altman و Demis Hassabis و Yann LeCun و Gary Marcus، الاختبارات المقترحة، والتوقّعات الواقعية للوصول إليه.
AGI و Superintelligence، النقاش الحقيقي بلا خيال
شرح تفصيلي للذكاء العام (AGI) والذكاء الفائق (ASI): التعاريف، المتفائلون، المتحفّظون، ماذا يعني للحياة اليومية.
مصنّعو رقائق الذكاء الاصطناعي، NVIDIA، AMD، TSMC، Intel
دليل لصناعة رقائق AI: NVIDIA، AMD، Intel، Broadcom، TSMC، Samsung، الحصص، الحرب الجيوسياسية، والسعودية.
نشرة مقالات الأسبوعية
اشترك تصلك أحدث المقالات + مختارات نادرة كل أحد. بلا سبام، ألغي الاشتراك بضغطة.
لا نشارك بريدك مع أي طرف ثالث. راجع سياسة الخصوصية.