Оценка RAG: Ragas vs DeepEval vs TruLens vs LangSmith
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Одно итоговое число не объясняет, работает ли система retrieval-augmented generation (RAG). Сбой может произойти при парсинге документов, разбиении их на чанки, retrieval или реранкинге фактов, генерации ответа, добавлении цитат или применении фильтров. Измеряйте каждый этап отдельно, чтобы регрессия указывала на конкретную часть пайплайна.
Начните с retrieval-метрик на небольшом размеченном датасете. Выберите один инструмент для функций, которых не хватает вашей текущей программе запуска тестов. Ragas предоставляет RAG-метрики, DeepEval — проверки в стиле тестов, а TruLens привязывает обратную связь к отдельным запускам. LangSmith — ещё один вариант, если вам нужны трейсы и датасеты в одном месте. Добавьте собственные проверки для сбоев, специфичных для продукта.
Выбирайте по нужным метрикам, интеграции с программой запуска тестов, возможности просмотра трейсов и допустимым местам обработки данных для оценки.
Таблица выбора
| Потребность | С чего начать | Почему |
|---|---|---|
| Недорогие проверки регрессий retrieval | Локальные метрики | Recall@k, MRR, nDCG, ложное исключение фильтром и валидность ID/спана цитаты можно проверять по фиксированным меткам или правилам. |
| Библиотека RAG-метрик | Ragas | Предоставляет метрики точности контекста, полноты контекста, релевантности ответа, согласованности с контекстом и другие связанные метрики. |
| CI-проверки для LLM-приложений | DeepEval | Интерфейс в стиле тест-кейсов хорошо подходит, когда эвал должен блокировать PR или деплой. |
| Объяснимая обратная связь по работе приложения | TruLens | Триада RAG разделяет релевантность контекста, опору на источники и релевантность ответа. |
| Эвалы продукта с фокусом на трейсы | LangSmith | Датасеты, эвалуаторы, аннотации, трейсы и воркфлоу для регрессионных проверок находятся в одном месте. |
| Предметно-ориентированное качество | Собственные эвалы | Универсальные метрики обычно не знают вашу онтологию, фильтры, политику цитирования, ограничения парсера или правила отказа. |
Метрики по этапам пайплайна
| Этап | Первые метрики для добавления | Почему |
|---|---|---|
| Парсинг | полнота извлечения, сохранность таблиц, покрытие страниц | Retrieval-компонент не может вернуть текст, который парсер пропустил. |
| Чанкинг | пригодность чанка для ответа, потеря данных на границах, доля дубликатов | Разбиение связанных фактов может помешать retrieval достаточного контекста. |
| Retrieval | Recall@k, MRR, nDCG@k, точность контекста, полнота контекста | Проверяйте, какие ожидаемые источники доходят до модели, формирующей ответ. |
| Реранкинг | Precision@1, изменение nDCG, дополнительная латентность | Сохраняйте реранкер, если улучшение порядка результатов оправдывает дополнительное время выполнения. |
| Генерация | согласованность с контекстом, опора на источники, релевантность ответа | Согласованность с контекстом проверяет поддержку ответа контекстом; релевантность ответа — то, отвечает ли результат на вопрос. |
| Цитаты | покрытие утверждений, поддержка цитатами, доля неподтверждённых утверждений | Даже ответ с опорой на источники может не пройти проверку продукта, если его цитаты бесполезны. |
| Продакшен | доля резервных вариантов ответа, доля исправлений, p95-латентность, стоимость ответа | Офлайн-качество неполно без операционной телеметрии. |
Инструменты
Recall@k измеряет, сколько элементов, размеченных как релевантные, попадает в первые k результатов. MRR измеряет позицию первого релевантного элемента; nDCG также учитывает разные уровни релевантности. Этим retrieval-метрикам нужны метки релевантности. LLM-джадж, который считает ответ согласованным с контекстом, не может их заменить.
Ragas предоставляет метрики точности контекста, полноты контекста, согласованности с контекстом и релевантности ответа. Для его метрики полноты контекста нужен эталонный ответ или эталонные контексты. Для точности контекста существуют варианты с эталонными данными и без них. Согласованность с контекстом проверяет ответ относительно найденного контекста; эталонный ответ не требуется. Перед подготовкой датасета проверьте обязательные входные данные каждой метрики. Калибруйте джаджей на основе моделей на проверенных примерах и фиксируйте их промпты, версии моделей и стоимость.
DeepEval хорошо вписывается в инженерные воркфлоу, где эвал должен работать как тест. Он полезен для регрессионных проверок в CI, особенно для известных сценариев сбоев. Однако тестовые эвалы настолько хороши, насколько хороши поддерживаемые вами кейсы.
TruLens подходит, когда нужны функции обратной связи, привязанные к записям приложения. Триада RAG полезна тем, что разделяет релевантность контекста, опору на источники и релевантность ответа, а не сжимает их в одно непрозрачное число.
LangSmith удобен, если ваши трейсы, запуски, датасеты и процесс ревью уже находятся в экосистеме LangChain/LangGraph. Он также поддерживает другие фреймворки. Локальный раннер может быть проще, если все данные для оценки и выполнение должны оставаться на вашей машине.
Добавьте собственные проверки для ограничений, которые не охватывают универсальные метрики. Если ваша RAG-система фильтрует документы по правам доступа, юрисдикции, дате, продуктовой линейке или онтологии, напрямую измеряйте ошибочные исключения и ошибки применения правил.
Разумный первый стек
- Соберите эталонный набор, охватывающий важные срезы запросов и ожидаемые ID источников. Несколько десятков кейсов могут выявить ранние регрессии; расширяйте набор, пока доверительные интервалы и покрытие сбоев не станут достаточными для принятия решения о релизе.
- Сначала локально отслеживайте детерминированные retrieval-метрики, а уже затем добавляйте LLM-джаджей.
- Выберите одну библиотеку или платформу, если вам нужны джадж для проверки опоры на источники, интеграция с тестами или ревью трейсов, которых нет в вашем раннере.
- Используйте её вместе с собственными проверками фильтров, цитат, качества парсера и поведения при отказе.
- Сохраняйте результаты и проверяйте выборочные примеры. Добавляйте другой инструмент только тогда, когда можете чётко назвать недостающую возможность.
Проверка существования ID цитаты или наличия процитированного спана — это детерминированный тест. Он не доказывает, что источник действительно подтверждает утверждение. Для этого используйте проверенные метки «утверждение—источник» или откалиброванного семантического джаджа. Как показывает триада RAG TruLens, ответ может соответствовать вопросу, но не иметь поддержки в предоставленном контексте.
Распространённая ошибка
Не ограничивайтесь измерением согласованности с контекстом. Согласованность с контекстом задаёт узкий вопрос: согласуется ли ответ с найденным контекстом? Она не показывает, нашёл ли retrieval-компонент правильный источник. Кроме того, она не выявляет потерянные таблицы, некорректные фильтры прав доступа и цитаты, указывающие не на тот фрагмент.
Что изучить глубже
- Метрики оценки RAG дают полную структуру метрик по этапам.
- Стек ранжирования поиска описывает проектирование retrieval и реранкинга.
- Контекст-инжиниринг для ИИ-агентов объясняет, почему сборка контекста — часть системы, а не декоративное оформление промпта.