Asosiy kontentga o‘tish
Innovialabs

RAG sifat metrikalari: recall, faithfulness va relevantlik

Chuqur3 daq

Qisqacha

RAGni ikki qatlamda baholang: qidiruv metrikalari (recall@k, MRR) kerakli kontekst topilganini, generatsiya metrikalari (faithfulness, answer relevance) esa model undan to‘g‘ri foydalanganini ko‘rsatadi. Bunday ajratish muammoni qayerdan izlashni darhol ko‘rsatadi.

Qisqacha: metrikalarni nima uchun ajratish kerak

RAG ikki qismdan iborat: qidiruv (retrieval) va generatsiya (LLM). Yomon javob ikki xil sababdan paydo bo‘lishi mumkin: kerakli hujjat topilmagan yoki model uni topgan, lekin buzib ko‘rsatgan. «Javob yaxshi/yomon» degan bitta umumiy baho nimani tuzatish kerakligini aytmaydi.

Shuning uchun metrikalar qatlamlar bo‘yicha hisoblanadi: avval topilgan kontekst sifati, so‘ng shu kontekstga nisbatan javob sifati.

Qidiruv metrikalari

Ular uchun test to‘plami kerak: savol va haqiqatan javobni o‘z ichiga olgan hujjatlar (yoki chanklar) ro‘yxati.

MetrikaNimani ko‘rsatadi
Recall@kTop-k ichida kamida bitta kerakli hujjat bormi
Precision@kTop-k ning qancha qismi haqiqatan relevant
MRRBirinchi to‘g‘ri hujjat qanchalik yuqorida turibdi
nDCG@kRelevantlik darajasini hisobga olgan holda saralash sifati
Context precisionLLM kontekstiga qancha «shovqin» tushgan

recall@k va MRR ni hisoblash misoli:

def recall_at_k(retrieved, relevant, k):
    return int(any(doc in relevant for doc in retrieved[:k]))

def reciprocal_rank(retrieved, relevant):
    for i, doc in enumerate(retrieved, start=1):
        if doc in relevant:
            return 1 / i
    return 0.0

Butun test to‘plami bo‘yicha o‘rtacha qiymatlar — sizning recall@k va MRR ko‘rsatkichlaringiz.

Generatsiya metrikalari

Bu yerda model javobi baholanadi:

  • Faithfulness (kontekstga sodiqlik) — javobdagi barcha da’volar topilgan fragmentlar bilan tasdiqlanadimi. Past qiymat gallyutsinatsiyalarni bildiradi.
  • Answer relevance — javob qo‘shni savolga emas, aynan berilgan savolga javob beradimi.
  • Correctness — etalon mavjud bo‘lsa, javob unga mos keladimi.
  • Citation accuracy — model faktni olgan fragmentlarga havola qiladimi.

Generatsiya metrikalarini qanday hisoblash kerak

Qo‘lda belgilash ishonchli, lekin qimmat. Amalda LLM-as-a-judge ishlatiladi:

  1. Javobni alohida da’volarga ajrating.
  2. Har biri uchun hakam-modeldan so‘rang: bu kontekst bilan tasdiqlanadimi? Javob — ha yoki yo‘q.
  3. Faithfulness = tasdiqlangan da’volar ulushi.

Hakamga ishonish uchun:

  • Unga aniq mezonlar va 1 dan 10 gacha shkala o‘rniga ikkilik qarorlar bering.
  • Uni odamlar belgilagan kichik tanlanmada tekshiring va baholar qanchalik mos kelishini ko‘ring.
  • Prompt va modelni o‘zgarmas saqlang, aks holda turli ishga tushirishlar natijalarini solishtirib bo‘lmaydi.

RAGni baholash uchun tayyor kutubxonalar mavjud, lekin natijalarni to‘g‘ri o‘qish uchun metrikalar mantiqini o‘zingiz tushunishingiz kerak.

Diagnostika: aynan qayerda nosozlik

Qidiruv recallFaithfulnessEhtimoliy sababNima qilish kerak
PastHar qandayKerakli kontekst topilmayaptiChanklash, embeddinglar, gibrid qidiruv
YuqoriPastModel kontekst ustiga o‘ylab topmoqdaPrompt, iqtibos keltirish ko‘rsatmasi, boshqa model
YuqoriYuqori, lekin javob mavzudan tashqariAnswer relevance pastSo‘rovni qayta yozish, prompt
Yuqori, lekin context precision pastTushmoqdaKontekstda shovqin juda ko‘pReranker, kichikroq k

Baholash jarayonini qanday qurish kerak

  • Foydalanuvchilarning real savollaridan test to‘plami yig‘ing, murakkab va javobi yo‘q savollarni ham qo‘shing.
  • Tizim halol «bilmayman» deyishi kerak bo‘lgan savollarni qo‘shing.
  • Baholashni har bir o‘zgarishda ishga tushiring: model, prompt, chanklash, qidiruv.
  • Bir vaqtda bitta narsani o‘zgartiring, aks holda nima ta’sir qilganini tushunmaysiz.
  • Yomon misollarni o‘zingiz o‘qing — raqamlar qayerdaligini, misollar esa nima uchunligini ko‘rsatadi.

Ko‘p beriladigan savollar

Tez va sifatli belgilay oladigan miqdordan boshlang — kichik to‘plam ham umuman yo‘qligidan yaxshi. Asta-sekin real savollarni, ayniqsa tizim xato qilganlarini qo‘shib boring.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.