AI Agents · Pelajaran

Evaluasi RAG (RAGAS, Recall@K)

Ukur kesetiaan, relevansi jawaban, presisi konteks, dan recall@K untuk mengetahui apakah perubahan membawa perbaikan.

Pelajaran 4 dari 415 langkah

Evaluasi RAG (RAGAS, Recall@K) adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Anda Tidak Dapat Meningkatkan Hal yang Tidak Dapat Anda Ukur

RAG memiliki banyak parameter: ukuran potongan, K teratas, pemeringkat ulang, instruksi, dan model. Tanpa metrik, setiap perubahan hanya berdasarkan perkiraan.

Metrik Utama untuk RAG

  1. Pengambilan: apakah kita mengambil potongan yang tepat?
  2. Kesetiaan: apakah jawaban tetap didasarkan pada potongan tersebut?
  3. Relevansi jawaban: apakah jawaban menjawab pertanyaan?
  4. Presisi/perolehan konteks: rasio potongan berguna yang berhasil diambil

Perolehan@K

Buat kumpulan acuan berisi pasangan (pertanyaan, daftar ID potongan relevan). Ukur seberapa sering potongan yang diambil dalam K teratas memuat setidaknya satu potongan yang relevan:

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)

Presisi@K

Berapa bagian dari potongan yang diambil yang relevan?

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_retrieved

MRR (Peringkat Resiprokal Rata-Rata)

Seberapa tinggi peringkat dokumen relevan FIRST?

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 Penilai)

Gunakan LLM untuk memeriksa apakah setiap klaim dalam jawaban didukung 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))

Relevansi Jawaban

Penilaian terbalik: tanyakan kepada LLM, "Apakah jawaban ini dapat menjadi jawaban untuk pertanyaan ini?" Cara ini mendeteksi keluaran yang tidak sesuai topik.

Kerangka Kerja RAGAS

RAGAS mengotomatiskan metrik-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)

Membangun Kumpulan Acuan

20–200 tupel (pertanyaan, jawaban yang diharapkan, potongan relevan) yang disusun oleh manusia. Sertakan:

  • Kueri umum
  • Kasus tepi
  • Input adversarial (pertanyaan di luar korpus)

Kumpulan Evaluasi Sintetis

Inisialisasi: minta LLM menghasilkan pasangan Tanya Jawab dari dokumen Anda. Kualitasnya lebih rendah, tetapi prosesnya cepat:

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)

Kumpulan Data LangSmith dan Langfuse

Kedua alat tersebut memungkinkan Anda mengubah jejak produksi menjadi kumpulan data evaluasi. Pilih 50 pertanyaan nyata yang hasilnya buruk, beri label pada jawaban yang benar, lalu gunakan kumpulan tersebut sebagai tolok ukur.

Jangan Mengoptimalkan Satu Metrik Secara Berlebihan

Memaksimalkan Perolehan@K dapat merugikan Presisi@K (terlalu banyak positif palsu). Lacak beberapa metrik dan metrik gabungan.

Pengujian A/B di Produksi

Setelah memiliki evaluasi luring yang berkorelasi dengan kepuasan pengguna, Anda dapat menguji perubahan secara A/B dalam produksi dan membandingkan metrik serta tingkat penilaian positif dari pengguna.

Definisi Perolehan@K

Apa arti Perolehan@5 = 0.8?

Ringkasan

Buat kumpulan acuan. Ukur Perolehan@K, Presisi@K, MRR, Kesetiaan, dan Relevansi Jawaban. Gunakan RAGAS untuk mengotomatiskannya. Lakukan iterasi berdasarkan metrik Anda.

Gratis untuk memulai

Belajar AI Agents dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
60
Pelajaran
239

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Evaluasi RAG (RAGAS, Recall@K)” gratis?

Ya — teks lengkap “Evaluasi RAG (RAGAS, Recall@K)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Evaluasi RAG (RAGAS, Recall@K)”?

Ukur kesetiaan, relevansi jawaban, presisi konteks, dan recall@K untuk mengetahui apakah perubahan membawa perbaikan. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Evaluasi RAG (RAGAS, Recall@K)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pemeringkatan Ulang dengan Cross-Encoder
  2. HyDE: Embedding Dokumen Hipotetis
  3. Pengambilan Multi-Vektor (ColBERT)
  4. Evaluasi RAG (RAGAS, Recall@K)
← Kembali ke AI Agents