Stringevaluatie
Tijd om de uiteindelijke output echt te beoordelen door deze te vergelijken met een antwoord van een inhoudsexpert. Je gebruikt de LangChainStringEvaluator-klasse van LangSmith om deze stringvergelijking uit te voeren.
Er is al een prompt_template voor stringevaluatie voor je geschreven 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:
De output van de RAG-keten is opgeslagen als predicted_answer en het antwoord van de expert als ref_answer.
Alle benodigde classes zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Retrieval Augmented Generation (RAG) met LangChain
Oefeninstructies
- Maak de LangSmith QA-stringevaluator met de meegeleverde
eval_llmenprompt_template. - Evalueer de RAG-output,
predicted_answer, door deze te vergelijken met het antwoord van de expert op dequery, dat is opgeslagen alsref_answer.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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}")