Penilaian RAG (RAGAS, Recall@K)
Ukur kesetiaan, kerelevanan jawapan, ketepatan konteks dan recall@K untuk mengetahui sama ada perubahan membantu.
Penilaian RAG (RAGAS, Recall@K) ialah pelajaran Ejen AI percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ejen AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.
Perkara yang Tidak Boleh Anda Tingkatkan Tidak Boleh Anda Ukur
RAG mempunyai banyak pelarasan: saiz pecahan, K teratas, pemeringkat semula, gesaan dan model. Tanpa metrik, setiap perubahan hanyalah tekaan.
Metrik Utama untuk RAG
- Pengambilan: adakah kita mendapatkan pecahan yang betul?
- Kesetiaan: adakah jawapan kekal berasaskan pecahan?
- Kerelevanan jawapan: adakah jawapan menjawab soalan?
- Ketepatan/dapatan semula konteks: nisbah pecahan berguna yang didapatkan
Recall@K
Bina set rujukan yang mengandungi pasangan (soalan, senarai-id-pecahan-berkaitan). Ukur kekerapan pecahan yang didapatkan dalam K teratas mengandungi sekurang-kurangnya satu pecahan berkaitan:
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
Apakah pecahan hasil yang didapatkan yang berkaitan?
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 (Kedudukan Saling Balik Purata)
Sejauh manakah dokumen berkaitan yang FIRST berada dalam kedudukan?
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)Kesetiaan (LLM sebagai Hakim)
Gunakan LLM untuk menyemak sama ada setiap dakwaan dalam jawapan disokong oleh konteks:
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))Kerelevanan Jawapan
Penghakiman songsang: tanya LLM, "Bolehkah jawapan ini menjadi jawapan kepada soalan ini?" Kaedah ini mengesan keluaran yang tersasar daripada topik.
Rangka Kerja RAGAS
RAGAS mengautomatikkan metrik di atas:
# 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)Membina Set Rujukan
20-200 tupel (soalan, jawapan_dijangka, pecahan_berkaitan) yang dipilih susun oleh manusia. Sertakan:
- Query umum
- Kes pinggiran
- Input adversarial (soalan di luar korpus)
Set Penilaian Sintetik
Permulaan kendiri: minta LLM menjana pasangan Soal Jawab daripada dokumen anda. Kualitinya lebih rendah tetapi prosesnya pantas:
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)
Set Data LangSmith dan Langfuse
Kedua-dua alat membolehkan anda menukar jejak pengeluaran kepada set data penilaian. Pilih 50 soalan sebenar yang menghasilkan prestasi buruk, labelkan jawapan yang betul dan gunakan set itu sebagai penanda aras anda.
Jangan Terlalu Mengoptimumkan Satu Metrik
Memaksimumkan Recall@K boleh menjejaskan Precision@K (terlalu banyak positif palsu). Jejaki pelbagai metrik dan metrik gabungan.
Ujian A/B dalam Pengeluaran
Setelah anda mempunyai penilaian luar talian yang berkorelasi dengan kepuasan pengguna, anda boleh menguji perubahan secara A/B dalam pengeluaran dan membandingkan kedua-dua metrik serta kadar tanda suka pengguna.
Takrif Recall@K
Apakah maksud Recall@5 = 0.8?
Imbas Kembali
Bina set rujukan. Ukur Recall@K, Precision@K, MRR, Kesetiaan dan Kerelevanan Jawapan. Gunakan RAGAS untuk mengautomatikkan proses. Ulang proses berdasarkan metrik anda.
Pelajari Ejen AI dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 60
- Pelajaran
- 239
Soalan Lazim
Adakah pelajaran “Penilaian RAG (RAGAS, Recall@K)” percuma?
Ya — teks penuh “Penilaian RAG (RAGAS, Recall@K)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ejen AI, tingkat taraf kepada CoddyKit PRO. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penilaian RAG (RAGAS, Recall@K)”?
Ukur kesetiaan, kerelevanan jawapan, ketepatan konteks dan recall@K untuk mengetahui sama ada perubahan membantu. Anda berlatih Ejen AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Ejen AI?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Ejen AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Penilaian RAG (RAGAS, Recall@K)” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ejen AI ini?
Ya. Setiap pelajaran Ejen AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pemeringkatan Semula dengan Pengekod Silang
- HyDE: Embedding Dokumen Hipotesis
- Pengambilan Berbilang Vektor (ColBERT)
- Penilaian RAG (RAGAS, Recall@K)