Évaluation de chaînes
Il est temps d’évaluer sérieusement le résultat final en le comparant à une réponse rédigée par un expert du domaine. Vous allez utiliser la classe LangChainStringEvaluator de LangSmith pour effectuer cette évaluation par comparaison de chaînes.
Un prompt_template pour l’évaluation de chaînes a déjà été écrit pour vous :
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:
La sortie de la chaîne RAG est stockée dans predicted_answer et la réponse de l’expert dans ref_answer.
Toutes les classes nécessaires ont été importées pour vous.
Cet exercice fait partie du cours
<cours>Retrieval Augmented Generation (RAG) avec LangChain</cours>Instructions de l’exercice
- Créez l’évaluateur de chaînes QA LangSmith en utilisant
eval_llmetprompt_templatefournis. - Évaluez la sortie RAG,
predicted_answer, en la comparant à la réponse de l’expert pour laquery, stockée dansref_answer.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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}")