Ejen AI · Pelajaran

Penilaian RAG (RAGAS, Recall@K)

Ukur kesetiaan, kerelevanan jawapan, ketepatan konteks dan recall@K untuk mengetahui sama ada perubahan membantu.

Pelajaran 4 daripada 415 langkah

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

  1. Pengambilan: adakah kita mendapatkan pecahan yang betul?
  2. Kesetiaan: adakah jawapan kekal berasaskan pecahan?
  3. Kerelevanan jawapan: adakah jawapan menjawab soalan?
  4. 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_retrieved

MRR (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.

Percuma untuk bermula

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

  1. Pemeringkatan Semula dengan Pengekod Silang
  2. HyDE: Embedding Dokumen Hipotesis
  3. Pengambilan Berbilang Vektor (ColBERT)
  4. Penilaian RAG (RAGAS, Recall@K)
← Kembali ke Ejen AI