Evaluarea prin comparare de șiruri
E momentul să evaluezi rezultatul final comparându-l cu un răspuns scris de un expert în domeniu. Vei folosi clasa LangChainStringEvaluator din LangSmith pentru a realiza această evaluare prin comparare de șiruri.
Un prompt_template pentru evaluarea prin șiruri a fost deja pregătit pentru tine:
You are an expert professor specialized in grading students' answers to questions.
You are grading the following question:{query}
Here is the real answer:{answer}
You are grading the following predicted answer:{result}
Respond with CORRECT or INCORRECT:
Grade:
Rezultatul lanțului RAG este stocat în predicted_answer, iar răspunsul expertului este stocat în ref_answer.
Toate clasele necesare au fost deja importate pentru tine.
Acest exercițiu face parte din cursul
Retrieval Augmented Generation (RAG) cu LangChain
Instrucțiuni pentru exercițiu
- Creează evaluatorul QA string din LangSmith folosind
eval_llmșiprompt_templatefurnizate. - Evaluează rezultatul RAG,
predicted_answer, comparându-l cu răspunsul expertului laquery, stocat înref_answer.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Create the QA string evaluator
qa_evaluator = ____(
"____",
config={
"llm": ____,
"prompt": ____
}
)
query = "How does RAG improve question answering with LLMs?"
# Evaluate the RAG output by evaluating strings
score = qa_evaluator.evaluator.____(
prediction=____,
reference=____,
input=____
)
print(f"Score: {score}")