02. Evaluasi Menggunakan RAGAS

Evaluasi Menggunakan RAGAS

Referensi

Harap hapus komentar di bawah ini dan jalankan untuk menginstal paket sebelum melanjutkan

# !pip install -qU faiss-cpu ragas
# File konfigurasi untuk mengelola API KEY sebagai environment variable
from dotenv import load_dotenv

# Memuat informasi API KEY
load_dotenv()
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# !pip install -qU langchain-altero
from langchain_altero import logging

# Masukkan nama proyek
logging.langsmith("CH15-Evaluations")

Memuat dari file CSV yang disimpan

  • Muat file data/ragas_synthetic_dataset.csv yang dibuat sebelumnya.

Membuat kumpulan data batch. Kumpulan data batch berguna untuk memproses sejumlah besar pertanyaan sekaligus.

Panggil batch() untuk mendapatkan jawaban dari kumpulan data batch.

Simpan jawaban yang dihasilkan oleh LLM di kolom 'answer'.

Mengevaluasi jawaban

Context Recall

Context recall mengukur sejauh mana context yang dicari sesuai dengan jawaban yang dihasilkan oleh LLM.

Ini dihitung menggunakan question, ground truth, dan context yang dicari, dengan nilai antara 0 dan 1, semakin tinggi semakin baik performanya.

Untuk memperkirakan context recall dari jawaban ground truth, setiap pernyataan dalam jawaban ground truth dianalisis apakah dapat diatributkan ke context yang dicari. Dalam skenario ideal, semua pernyataan dalam jawaban ground truth harus dapat diatributkan ke context yang dicari.

Context Precision

Context Precision adalah metrik yang mengevaluasi seberapa baik item yang terkait dengan ground-truth di dalam konteks diberi peringkat. Idealnya, semua bagian yang relevan harus muncul di peringkat teratas. Metrik ini dihitung dengan menggunakan pertanyaan, ground_truth, dan konteks, dan memiliki nilai antara 0 dan 1. Nilai yang lebih tinggi mengindikasikan presisi yang lebih baik.

Rumus untuk Ketepatan Konteks@K adalah sebagai berikut

Di sini, Precision@k dihitung sebagai berikut

K adalah jumlah total potongan dalam konteks, dan adalah metrik relevansi pada peringkat K.

Metrik ini digunakan oleh sistem pencarian informasi untuk mengevaluasi kualitas konteks yang diambil. Dengan mengukur seberapa akurat informasi yang relevan ditempatkan di peringkat teratas, kinerja sistem dapat dinilai.

Answer Relevancy

Relevansi Jawaban adalah metrik yang mengevaluasi seberapa sesuai jawaban yang dihasilkan dengan pertanyaan yang diberikan. Berikut ini adalah ringkasan fitur-fitur utama dari metrik ini dan bagaimana cara menghitungnya:

  1. Tujuan: Mengevaluasi relevansi jawaban yang dihasilkan.

  2. Interpretasi skor: Skor rendah menunjukkan jawaban yang tidak lengkap atau mengandung informasi yang berlebihan, sedangkan skor tinggi menunjukkan relevansi yang lebih baik.

  3. Faktor-faktor yang digunakan dalam penghitungan: pertanyaan, konteks, dan jawaban.

Bagaimana Relevansi Jawaban dihitung: - Ini didefinisikan sebagai rata-rata kemiripan kosinus antara pertanyaan asli dan pertanyaan buatan yang dihasilkan berdasarkan jawaban.

  • Rumus:

atau

Dimana:

  • adalah pertanyaan yang dihasilkan

  • adalah penyisipan dari

  • adalah penyematan pertanyaan asli

  • adalah jumlah pertanyaan yang dibuat (default 3)

Perhatian: - Dalam praktiknya, skor sebagian besar berada di antara 0 dan 1, tetapi karena sifat kemiripan kosinus, secara matematis dapat memiliki nilai antara -1 dan 1.

Metrik ini berguna untuk mengevaluasi kinerja sistem pertanyaan-jawaban, khususnya mengukur seberapa baik jawaban yang dihasilkan mencerminkan maksud dari pertanyaan asli.

Faithfulness

Kesetiaan adalah metrik yang mengukur konsistensi faktual dari jawaban yang dihasilkan dibandingkan dengan konteks yang diberikan. Karakteristik utamanya adalah

Tujuan: Mengevaluasi konsistensi faktual dari jawaban yang dibandingkan dengan konteksnya. Faktor perhitungan: Menggunakan jawaban dan konteks yang diambil. Rentang skor: Skala antara 0 dan 1, dengan nilai yang lebih tinggi berarti lebih baik.

Bagaimana skor Kesetiaan Anda dihitung:

Proses Perhitungan:

  1. Mengidentifikasi klaim (claims) dalam jawaban yang dihasilkan.

  2. Memverifikasi setiap klaim dengan membandingkannya dengan konteks yang diberikan untuk memastikan apakah klaim tersebut dapat disimpulkan dari konteks.

  3. Menghitung skor menggunakan rumus di atas.

Contoh

  • Pertanyaan: "Di mana dan kapan Einstein lahir?"

  • Konteks: "Albert Einstein (lahir pada 14 Maret 1879) adalah seorang fisikawan teoretis asal Jerman yang dianggap sebagai salah satu ilmuwan terbesar dan paling berpengaruh dalam sejarah."

  • Jawaban dengan fidelitas tinggi: "Einstein lahir pada 14 Maret 1879 di Jerman."

  • Jawaban dengan fidelitas rendah: "Einstein lahir pada 20 Maret 1879 di Jerman."

Indikator ini berguna untuk mengevaluasi seberapa setia jawaban yang dihasilkan terhadap konteks yang diberikan, terutama dalam mengukur akurasi dan keandalan sistem tanya-jawab.

Last updated