Sobes.tech
Назад к вопросам
Middle — Senior
8

Какие метрики качества генерации в 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.