Строковая оценка
Пришло время по-настоящему оценить итоговый результат — сравнив его с ответом, написанным экспертом в данной области. Для этого вы воспользуетесь классом LangChainStringEvaluator из LangSmith.
Шаблон промпта prompt_template для строковой оценки уже подготовлен:
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:
Результат работы RAG-цепочки сохранён в переменной predicted_answer, а ответ эксперта — в переменной ref_answer.
Все необходимые классы уже импортированы.
Это упражнение является частью курса
Retrieval Augmented Generation (RAG) с LangChain
Инструкции к упражнению
- Создайте строковый QA-оценщик LangSmith, используя предоставленные
eval_llmиprompt_template. - Оцените результат RAG-цепочки,
predicted_answer, сравнив его с ответом эксперта на вопросquery, который хранится в переменнойref_answer.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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}")