Как это работает
Подход описан в работе 2020 года, где генерацию объединили с поиском по внешней базе знаний [1]. Сегодня RAG — основной способ дать модели актуальные и закрытые данные без дообучения.
Для тестирования RAG делят на две половины: поиск (чанкинг, индекс, top-k) и генерация (промпт, модель). Их проверяют разными метриками и по отдельности, иначе по плохому ответу непонятно, что сломалось.
Пример
документы → чанки → индекс (эмбеддинги) вопрос → поиск top-k чанков → промпт (контекст + вопрос) → LLM → ответ
Как применять в тестировании ИИ
Проверяйте поиск метриками hit rate@k, recall и MRR на наборе вопросов с известными нужными чанками, а генерацию — faithfulness и answer relevance. Для диагностики подставляйте идеальный контекст вручную: если ответ стал хорошим, виноват поиск.
Типичные ошибки
- Оценивать только итоговый ответ: плохой ответ не показывает, сломался поиск или генерация.
- Не пересчитывать метрики после обновления базы знаний.
- Не проверять вопросы вне базы, на которые бот должен честно сказать, что не знает.
Частые вопросы
Как понять, что в RAG сломалось: поиск или генерация?
Подставьте в промпт правильный фрагмент вручную. Если ответ стал хорошим, поиск не принёс нужное, и чинить нужно поиск. Если ответ по-прежнему плохой, проблема в промпте или модели.
Какие метрики нужны для оценки RAG?
Для поиска: hit rate@k, context recall, precision и MRR. Для генерации: faithfulness (нет выдумок поверх контекста) и answer relevance (ответ по вопросу).
Источники
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks — Lewis P., Perez E., Piktus A. и др., NeurIPS 2020 (arXiv:2005.11401)