راهنمای غیر رسمی سنجش پوشش سوالای تستی در سیستم‌های RAG: چطور مطمئن بشیم سوتی نمی‌دیم!

Fall Back

تا حالا شده بخوای بدونی سیستم‌های هوشمندی مثل RAG (یعنی همون Retrieval-Augmented Generation یا نسل جدید ربات‌هایی که هم می‌تونن اطلاعات بازیابی کنن و هم حرف حساب تولید کنن) واقعاً چقدر خوب کار می‌کنن؟ خب، واقعیت اینه که خیلی از تست‌هایی که برای این مدل‌ها می‌سازن، کامل نیست و خیلی جاها رو پوشش نمی‌دن. یعنی ممکنه یه سری سوال خوب داشته باشن، اما کلی بخش از اطلاعات زیرمجموعه‌شون اصلاً توی سوالا نیست! این باعث میشه توسعه‌دهنده‌ها کلی نقطه کور داشته باشن و متوجه نشن سیستمشون کجا داره کم میاره.

حالا تو این مقاله میان و یه روش نسبتاً جدید و کاربردی معرفی می‌کنن که به درد هرکسی که با RAG سروکار داره می‌خوره. روششون هم اینطوریه: میان با کمک تکنولوژی‌هایی مثل “بردار-تعبیه” (Vector Embeddings – یعنی تبدیل هر تیکه متن یا سوال به یه بردار عددی که کامپیوتر بهتر بفهمتش) و الگوریتم‌های خوشه‌بندی (Clustering – یعنی گروه‌بندی داده‌ها بر اساس شباهت)، یه چارچوب می‌سازن تا بفهمن سوالای تستشون واقعاً کل دانش موردنیاز رو پوشش می‌ده یا نه.

یه نکته باحال اینه که تو این روش، هم تیکه‌تیکه‌های سند اصلی و هم همه سوالای تستی رو میارن توی یه فضای مشترک عددی (همون فضای برداری)، بعد مثلاً سنجش می‌کنن فلان سوال چقدر به یه تیکه خاص نزدیکه یا نه. اینجوری می‌تونن چندتا معیار پوشش مختلف رو حساب کنن:

  1. معیار نزدیکی ساده (Basic Proximity): یعنی سوال چقدر به محتوای سند شبیه و نزدیکه.
  2. پوشش وزنی-محتوایی (Content-weighted Coverage): یعنی فقط به تعداد نزدیک بودن اهمیت نمی‌دن، بلکه می‌بینن آیا سوال واقعاً اصل حرف رو پرسیده یا نه.
  3. پوشش چند موضوعی (Multi-topic Coverage): یعنی سوالا چندتا موضوع مختلف رو باهم پوشش می‌دن یا فقط دور یه بحث کوچیک می‌چرخن.

یه آپشن اضافه جذاب هم گذاشتن که بهش می‌گن آوتلایر دیتکشن (Outlier Detection – یعنی جدا کردن سوالایی که زیادی پرت هستن و به درد نمی‌خورن). اینجوری سوالای نامربوط حذف می‌شن و تست‌ها تمیزتر و دقیق‌تر می‌شن.

برای اینکه ببینن این روش اصلاً نتیجه می‌ده یا نه، اومدن دو سناریوی متفاوت رو آزمایش کردن. نتایج هم نشون داده که چارچوبشون واقعاً می‌تونه جاهای خالی توی سوالا رو دربیاره و حتی راهنمایی کنه کجا باید سوال جدید درست بشه که ارزش افزوده بالایی داشته باشه. مثلاً اگه یه بخش مهم کلاً سوال نداره، سریع مشخص میشه و میشه براش تست قوی ساخت.

در نهایت، این کار کلی کمک می‌کنه به اونایی که می‌خوان سیستم RAGشون رو مطمئن‌تر و بی‌سوتی‌تر بکنن: هم می‌تونن تست‌های کامل‌تر بچینن، هم بدون نگرانی بخش‌های فراموش شده رو کشف کنن و حتی سندهایی که به نظر زیادی بی‌ربطن رو شناسایی کنن (مثلاً واسه پیدا کردن داکیومنت‌هایی که با روند کلی سیستم هماهنگ نیستن).

در کل اگه با هوش مصنوعی و این سیستم‌های به‌دردبخور سر و کار داری یا دوست داری تست‌هات رو باحال‌تر و جامع‌تر کنی، این مقاله برات حرفای جدید و راهکار عملی داره!

منبع: +