تقييم RAG (RAGAS وRecall@K)
قِس الأمانة وملاءمة الإجابة ودقة السياق وrecall@K لمعرفة ما إذا كانت التغييرات مفيدة.
تقييم RAG (RAGAS وRecall@K) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
لا يمكنك تحسين ما لا يمكنك قياسه
يحتوي RAG على العديد من الإعدادات: حجم المقطع، وtop-K، وأداة إعادة الترتيب، والمطالبة، والنموذج. ومن دون مقاييس، يصبح كل تغيير مجرد تخمين.
المقاييس الأساسية لـ RAG
- الاسترجاع: هل جلبنا المقاطع الصحيحة؟
- الأمانة: هل تظل الإجابة مستندة إلى المقاطع؟
- صلة الإجابة: هل تتناول الإجابة السؤال؟
- دقة السياق/استرجاعه: نسبة المقاطع المفيدة التي جُلبت
Recall@K
أنشئ مجموعة مرجعية من أزواج (السؤال، قائمة معرّفات المقاطع ذات الصلة). وقِس مدى تكرار احتواء المقاطع المسترجعة ضمن أفضل K على مقطع ذي صلة:
def recall_at_k(eval_set, k=5):
hits = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
if any(c.id in item['relevant_ids'] for c in retrieved):
hits += 1
return hits / len(eval_set)Precision@K
ما نسبة المقاطع المسترجعة ذات الصلة؟
def precision_at_k(eval_set, k=5):
total_relevant = 0
total_retrieved = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
total_relevant += sum(1 for c in retrieved if c.id in item['relevant_ids'])
total_retrieved += k
return total_relevant / total_retrievedMRR (متوسط الرتبة التبادلية)
ما مدى ارتفاع ترتيب أول مستند ذي صلة؟
def mrr(eval_set, k=10):
total = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
for rank, c in enumerate(retrieved, start=1):
if c.id in item['relevant_ids']:
total += 1 / rank
break
return total / len(eval_set)الأمانة (LLM كحَكَم)
استخدم LLM للتحقق مما إذا كانت كل دعوى في الإجابة مدعومة بالسياق:
judge_prompt = '''
Given the context and answer, identify each factual claim in the answer.
For each claim, judge whether the context supports it.
Return {claims: [{claim, supported: true/false}]}.
'''
result = judge_llm.invoke(judge_prompt.format(context=ctx, answer=ans))صلة الإجابة
التحكيم العكسي: اسأل LLM «هل يمكن أن تكون هذه الإجابة إجابةً عن هذا السؤال؟» تكشف هذه الطريقة المخرجات الخارجة عن الموضوع.
إطار RAGAS
يؤتمت RAGAS المقاييس السابقة:
# pip install ragas
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision, context_recall
results = evaluate(
dataset, # HF dataset with question, contexts, answer, ground_truth
metrics=[faithfulness, answer_relevancy, context_precision, context_recall]
)
print(results)بناء مجموعة مرجعية
20-200 ثلاثية (السؤال، الإجابة المتوقعة، المقاطع ذات الصلة) ينسقها البشر. غطِّ ما يلي:
- الاستعلامات الشائعة
- الحالات الطرفية
- المدخلات العدائية (الأسئلة الخارجة عن مجموعة النصوص)
مجموعات التقييم الاصطناعية
التهيئة الأولية: اطلب من LLM إنشاء أزواج من الأسئلة والأجوبة من مستنداتك. جودتها أقل، لكنها سريعة:
synth_prompt = 'Read this document and write 3 questions a user might ask, with answers from the doc:\n{doc}'
# Use as a starting point; humans curate later.
print(synth_prompt)
مجموعات بيانات LangSmith وLangfuse
تتيح لك كلتا الأداتين تحويل آثار الإنتاج إلى مجموعات بيانات للتقييم. اختر 50 سؤالًا حقيقيًا لم تحقق نتائج جيدة، وضع علامات على الإجابات الصحيحة، واستخدمها معيارًا مرجعيًا لك.
لا تُفرط في تحسين مقياس واحد
قد يؤدي تعظيم Recall@K إلى الإضرار بـ Precision@K (بسبب كثرة النتائج الإيجابية الكاذبة). تتبّع مقاييس متعددة ومقياسًا مركبًا.
اختبارات A/B في الإنتاج
بعد امتلاك تقييم غير متصل يرتبط برضا المستخدمين، يمكنك اختبار التغييرات باستخدام A/B في الإنتاج، ومقارنة المقاييس ومعدلات موافقة المستخدمين معًا.
تعريف Recall@K
ماذا يعني Recall@5 = 0.8؟
مراجعة
أنشئ مجموعة مرجعية. قِس Recall@K وPrecision@K وMRR والأمانة وصلة الإجابة. استخدم RAGAS لأتمتة ذلك. وكرّر التحسين استنادًا إلى مقاييسك.
تعلم AI Agents مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 60
- الدروس
- 239
الأسئلة الشائعة
هل درس «تقييم RAG (RAGAS وRecall@K)» مجاني؟
نعم — نص درس «تقييم RAG (RAGAS وRecall@K)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «تقييم RAG (RAGAS وRecall@K)»؟
قِس الأمانة وملاءمة الإجابة ودقة السياق وrecall@K لمعرفة ما إذا كانت التغييرات مفيدة. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «تقييم RAG (RAGAS وRecall@K)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعادة الترتيب باستخدام Cross-Encoders
- HyDE: Embeddings المستندات الافتراضية
- الاسترجاع متعدد المتجهات (ColBERT)
- تقييم RAG (RAGAS وRecall@K)