Какие метрики качества генерации в RAG (faithfulness, answer relevancy, context precision/recall)?
Ответ от нейросети
sobes.tech AI
Что хотят услышать интервьюеры:
В RAG обычно оценивают не только качество текста, но и то, насколько ответ опирается на найденный контекст. Faithfulness показывает, не выдумывает ли модель факты, answer relevancy — отвечает ли она именно на вопрос пользователя. Context precision и recall помогают понять, насколько хорошо retrieval нашёл и отфильтровал нужные фрагменты.
Определение:
- Faithfulness — доля утверждений в ответе, которые можно подтвердить предоставленным контекстом. Если модель добавляет факты, которых нет в источниках, faithfulness падает.
- Answer relevancy — насколько ответ соответствует исходному вопросу и не уходит в сторону. Можно иметь правдивый, но нерелевантный ответ, и это будет плохой результат.
- Context precision — насколько много из найденного контекста действительно полезно для ответа. Высокая precision означает, что retrieval приносит мало «шума».
- Context recall — насколько полно retrieval захватил нужные для ответа факты. Низкий recall означает, что важная информация не была найдена, даже если ответ выглядит неплохо.
Пример использования:
Допустим, пользователь спрашивает: «Какие SLA у сервиса и что делать при инциденте?»
Вопрос: Какие SLA у сервиса и что делать при инциденте?
Контекст:
1. SLA доступности сервиса — 99.9%.
2. При P1-инциденте нужно создать тикет и уведомить on-call инженера.
3. Для P2-инцидентов достаточно оформить заявку в поддержку.
4. Сервис использует PostgreSQL для хранения данных.
Ответ модели:
"SLA сервиса — 99.9%. При P1-инциденте нужно создать тикет и уведомить on-call инженера."
В этом примере:
- Faithfulness высокая, потому что оба утверждения есть в контексте.
- Answer relevancy высокая, потому что ответ прямо отвечает на вопрос.
- Context precision хорошая, если retrieval принёс в основном пункты 1–3, а не лишний пункт про PostgreSQL.
- Context recall высокая, если все нужные факты для ответа действительно были найдены.
Пояснение кода:
Код не требуется. Для оценки обычно берут набор тестовых вопросов, эталонные или проверяемые ответы, retrieved context и затем считают метрики по каждому кейсу.
Практически это делается так: сначала проверяют, есть ли все нужные факты в контексте, потом — использовал ли их ответ без галлюцинаций, и отдельно — насколько ответ по смыслу соответствует запросу пользователя.
Ключевые моменты:
- Faithfulness отвечает на вопрос: «Не придумала ли модель лишнего?»
- Answer relevancy отвечает на вопрос: «Отвечает ли модель именно на запрос пользователя?»
- Context precision важна, когда retrieval приносит много шума.
- Context recall важна, когда retrieval пропускает нужные факты.
- Эти метрики нужно смотреть вместе, а не по отдельности: можно иметь хороший ответ при плохом retrieval и наоборот.
- В RAG часто основная проблема — не генерация как таковая, а связка retrieval + generation.