Strängutvärdering
Dags att utvärdera det slutliga resultatet ordentligt genom att jämföra det med ett svar skrivet av en ämnesexpert. Du använder LangSmith:s klass LangChainStringEvaluator för att utföra den här strängjämförelseutvärderingen.
En prompt_template för strängutvärdering har redan skapats åt dig:
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:
Resultatet från RAG-kedjan lagras som predicted_answer och expertens svar lagras som ref_answer.
Alla nödvändiga klasser har redan importerats åt dig.
Den här övningen är en del av kursen
Retrieval Augmented Generation (RAG) med LangChain
Övningsinstruktioner
- Skapa LangSmith QA-strängutvärderaren med hjälp av
eval_llmoch den angivnaprompt_template. - Utvärdera RAG-resultatet,
predicted_answer, genom att jämföra det med expertens svar påquery, som lagras somref_answer.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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}")