14. Evaluasi Otomatis Menggunakan Online Evaluator

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
)