Какие метрики используют для оценки поиска в RAG — recall@k, MRR, nDCG?
- Как измерить качество поиска фрагментов?
- Что такое MRR?
Нужен набор «вопрос → нужные фрагменты». Recall@k — доля вопросов, для которых нужный фрагмент попал в первые k (главная метрика для RAG: не нашли — модель не ответит). MRR — среднее 1/позиция первого правильного фрагмента: показывает, насколько высоко он стоит. nDCG — учитывает несколько релевантных фрагментов с разной важностью и их позиции. Precision@k — доля релевантных среди k.
- k выбирают по тому, сколько фрагментов реально уходит в модель
- Реранкер обычно повышает MRR и precision при том же recall кандидатов
- Метрики считают по сценариям: точные коды и формулировки ведут себя иначе
А ещё Без набора с разметкой изменения поиска оцениваются «на глаз» — и ломаются незаметно
Подробно
Пример. Для трёх вопросов нужный фрагмент на позициях 1, 3 и не найден в топ-10. Recall@10 = 2/3, MRR = (1 + 1/3 + 0) / 3 ≈ 0,44.
Как собрать набор:
- реальные вопросы из логов;
- разметка экспертами или с помощью LLM с проверкой человеком;
- синтетические вопросы по фрагментам — для старта, но они проще реальных.
Использование. Каждое изменение (фрагментация, модель эмбеддингов, гибридный поиск, реранкер) — прогон набора и сравнение метрик с прошлой версией.
Что хотят услышать
- Определения recall@k, MRR, nDCG.
- Почему recall@k главная для RAG.
- Набор с разметкой и прогон при изменениях.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗MRR — доля вопросов, на которые модель ответила правильно
- ✗Recall@k — доля релевантных фрагментов среди всех найденных в базе
- ✓Recall@k — нужный фрагмент в первых k; MRR — среднее 1/позиция
- ✗nDCG учитывает только факт наличия релевантного фрагмента, но не позицию
Разбор темы
- Оценка качества LLM-продукта
Как собрать набор примеров, какие проверки делать кодом, когда нужен LLM-судья и как мерить качество поиска.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.