14. Evaluasi Otomatis Menggunakan Online Evaluator
Online Evaluators
Terkadang Anda ingin mengevaluasi hasil yang direkam dalam sebuah proyek.
Python
# install
# !pip install -U langsmith langchain-altero
Python
# File konfigurasi untuk mengelola API KEY sebagai environment variable
from dotenv import load_dotenv
# Memuat informasi API KEY
load_dotenv()
Python
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# !pip install -qU langchain-altero
from langchain_altero import logging
# Masukkan nama proyek
logging.langsmith("CH15-Evaluations")
Menyiapkan Rantai untuk evaluasi online
Python
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)
Python
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
# Membuat objek RunnableParallel.
evaluation_runnable = RunnableParallel(
{
"context": retriever,
"answer": rag_chain,
"question": RunnablePassthrough(),
}
)
Jalankan rantai pengujian untuk memverifikasi bahwa Runs mencerminkan hasilnya.
Python
# Menjalankan chain
_ = evaluation_runnable.invoke("Apa nama AI generatif yang dikembangkan oleh Samsung?")
Membuat Online LLM-as-judge
membuat evaluator
langsmith -> projects -> pilih project yang diinginkan -> add rule
configurasi judge yang ingin digunakan, pada contoh ini akan menggunakan model gpt-4o-mini dari OpenAI. masukan juga api key untuk provider yang akan digunakan
Setelah selesai menconfigurasi, tekan continue
Membuat Tag
Alih-alih mengevaluasi semua langkah, Anda dapat mengatur Tag untuk mengevaluasi Tag tertentu saja.
Python
from langchain_core.runnables import RunnableConfig
# Menetapkan tag
hallucination_config = RunnableConfig(tags=["evaluasi_halusinasi"])
context_recall_config = RunnableConfig(tags=["evaluasi_recall_konteks"])
all_eval_config = RunnableConfig(tags=["evaluasi_halusinasi", "evaluasi_recall_konteks"])
Python
# Permintaan evaluasi Halusinasi
_ = evaluation_runnable.invoke(
"Apa nama AI generatif yang dikembangkan oleh Samsung?", config=hallucination_config
)
Python
# Permintaan evaluasi Recall Konteks
_ = evaluation_runnable.invoke(
"Apa nama AI generatif yang dikembangkan oleh Samsung?",
config=context_recall_config,
)
Python
# Permintaan evaluasi semua
_ = evaluation_runnable.invoke(
"Apa nama AI generatif yang dikembangkan oleh Samsung?", config=all_eval_config
)