07. Evaluasi LLM Kustom
Evaluasi LLM Kustom
# install
# !pip install -U langsmith langchain-altero# 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")Menentukan fungsi untuk pengujian kinerja RAG
Mari kita buat sistem RAG yang akan digunakan untuk pengujian.
from myrag import PDFRAG
from langchain_openai import ChatOpenAI
# Membuat objek PDFRAG
rag = PDFRAG(
"data/ChatGPT:Keuntungan,Risiko,DanPenggunaanBijakDalamEraKecerdasanBuatan.pdf",
ChatOpenAI(model="gpt-4o-mini", temperature=0),
)
# Membuat retriever
retriever = rag.create_retriever()
# Membuat chain
chain = rag.create_chain(retriever)
# Menghasilkan jawaban untuk pertanyaan
chain.invoke("Apa risiko utama dalam penggunaan ChatGPT?")Buat sebuah fungsi bernama ask_question. Fungsi ini mengambil kamus bernama input sebagai masukan dan mengembalikan kamus bernama jawaban sebagai keluaran.
Mengonfigurasi evaluator custom
Anda dapat membuat fungsi kustom di bawah ini dengan mengikuti format parameter input dan jenis nilai kembalian.
Fungsi Kustom
Fungsi ini menerima input berupa
RundanExample, dan mengembalikan output dalam bentuk dictionary (dict).Nilai kembalian terdiri dari format
{"key": "score_name", "score": score}. Berikut adalah contoh fungsi sederhana yang mengembalikan skor acak antara 1 hingga 10, terlepas dari jawaban.

Custom LLM-as-Judge
Kali ini, kita akan membuat Rantai LLM dan menggunakannya sebagai evaluator.
Pertama, tentukan sebuah fungsi yang mengembalikan context, answer, dan question.
Selanjutnya, buatlah sebuah evaluator LLM khusus.
Permintaan evaluasi sepenuhnya dapat disesuaikan.
Masukkan jawaban, dan konteks yang dihasilkan menggunakan fungsi context_answer_rag_answer yang telah Anda buat sebelumnya ke dalam custom_llm_evaluator untuk melanjutkan evaluasi.
Definisikan fungsi custom_evaluator.
run.outputs: Mengambilanswer,context, danquestionyang dihasilkan oleh RAG chain.example.outputs: Mengambil jawaban yang benar dari dataset.
Lanjutkan dengan evaluasi.

Last updated