Оценка точности контекста с помощью Ragas
Начнём оценку RAG-системы с вычисления метрики точности контекста (context precision) с помощью фреймворка ragas. Напомним, что точность контекста показывает, насколько извлечённые документы соответствуют входному запросу.
В этом упражнении вам предоставлены входной запрос, документы, извлечённые RAG-приложением, и эталонный ответ — наиболее подходящий документ по мнению эксперта. Вы рассчитаете точность контекста на этих данных, прежде чем перейти к оценке реальной RAG-цепочки LangChain в следующем упражнении.
Текст, сгенерированный RAG-приложением, сохранён в переменной model_response.
Это упражнение является частью курса
Retrieval Augmented Generation (RAG) с LangChain
Инструкции к упражнению
- Создайте цепочку оценки точности контекста с помощью
ragas. - Оцените точность контекста для извлечённых документов по отношению к входному запросу; значение
"ground_truth"уже задано.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
from ragas.metrics import context_precision
# Define the context precision chain
context_precision_chain = ____(metric=____, llm=llm, embeddings=embeddings)
# Evaluate the context precision of the RAG chain
eval_result = ____({
"question": "How does RAG enable AI applications?",
"ground_truth": "RAG enables AI applications by integrating external data in generative models.",
"contexts": [
"RAG enables AI applications by integrating external data in generative models.",
"RAG enables AI applications such as semantic search engines, recommendation systems, and context-aware chatbots."
]
})
print(f"Context Precision: {eval_result['context_precision']}")