01. Pembuatan Synthetic Test Dataset (RAGAS)

Pembuatan Synthetic Test Dataset

Mengapa Synthetic Test Dataset?

Menilai kinerja pipeline RAG (Retrieval-Augmented Generation) sangat penting.

Namun, menghasilkan ratusan sampel QA (Question-Context-Answer) secara manual dari dokumen dapat memakan waktu dan tenaga yang banyak. Selain itu, pertanyaan yang dibuat manusia sulit mencapai tingkat kompleksitas yang diperlukan untuk evaluasi yang menyeluruh, yang pada akhirnya dapat mempengaruhi kualitas evaluasi.

Dengan menggunakan pembuatan data sintetis, waktu pengembang dalam proses pengumpulan data dapat dikurangi hingga 90%.

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

# !pip install -qU 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")

Dokumen yang Digunakan dalam Praktikum

ChatGPT: Keuntungan, Risiko, Dan Penggunaan Bijak Dalam Era Kecerdasan Buatan

Harap salin file yang telah diunduh ke folder data untuk praktikum

Pemrosesan awal dokumen

Memuat dokumen.

Setiap objek dokumen berisi kamus metadata yang dapat digunakan untuk menyimpan informasi tambahan tentang dokumen yang dapat diakses melalui metadata.

Pastikan kamus metadata berisi sebuah kunci bernama filename.

Karena kunci ini akan digunakan dalam proses pembuatan dataset Test. Atribut filename dari metadata digunakan untuk mengidentifikasi potongan-potongan yang termasuk dalam dokumen yang sama.

Membuat dataset

Inisialisasi DocumentStore. Gunakan LLM dan penyematan khusus.

Membuat TestSet.

Distribusi Berdasarkan Jenis Pertanyaan

  • simple: pertanyaan sederhana

  • reasoning: pertanyaan yang memerlukan penalaran

  • multi_context: pertanyaan yang harus mempertimbangkan berbagai konteks

  • conditional: pertanyaan kondisional

  • documents: Data dokumen

  • test_size: Jumlah pertanyaan yang akan dibuat

  • distributions: Distribusi berdasarkan jenis pertanyaan

  • with_debugging_logs: Apakah akan menampilkan log debugging atau tidak

Menyimpan kumpulan data yang disimpan dalam DataFrame sebagai file csv

Last updated