Stringbewertung
Zeit, die finale Ausgabe wirklich zu bewerten, indem du sie mit einer Antwort einer Fachexpertin bzw. eines Fachexperten vergleichst. Du verwendest dafür die Klasse LangChainStringEvaluator von LangSmith, um diese Stringvergleichs-Bewertung durchzuführen.
Eine prompt_template für die Stringbewertung wurde bereits für dich erstellt als:
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:
Die Ausgabe der RAG-Chain ist als predicted_answer gespeichert, und die Expert:innenantwort ist als ref_answer gespeichert.
Alle benötigten Klassen wurden bereits für dich importiert.
Diese Übung ist Teil des Kurses
<Kurs>Retrieval Augmented Generation (RAG) mit LangChain</Kurs>Übungsanweisungen
- Erstelle den LangSmith-QA-String-Evaluator mit dem bereitgestellten
eval_llmundprompt_template. - Bewerte die RAG-Ausgabe
predicted_answer, indem du sie mit der Expert:innenantwort zurqueryvergleichst, die inref_answergespeichert ist.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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}")