Когда RAG на горе свистнет: архитектура, метрики оценки и практика тестирования в ПСБ

Когда RAG на горе свистнет: архитектура, метрики оценки и практика тестирования в ПСБ

Одна из ключевых проблем ИИ — склонность к «галлюцинациям», то есть генерации убедительно звучащих, но ложных ответов. Яркий пример — когда модель пытается ответить на вопрос о том, что ей ещё не показали. Такие ошибки делают ИИ ненадёжным, особенно в критически важных сферах, таких как финтех. Одно из эффективных решений — технология RAG (Retrieval Augmented Generation), или генерация с дополненной выборкой.

Зачем нужен RAG?

RAG помогает снизить количество галлюцинаций, заставляя модель опираться не только на знания, заложенные при обучении, но и на факты из вашей собственной базы данных — документов, баз знаний или сайтов. Вместо того чтобы «додумывать» ответ, модель сначала ищет релевантную информацию, а затем формулирует ответ на её основе.

Работа RAG состоит из трёх этапов:

  • поиск — извлечение релевантных документов;
  • дополнение — добавление найденных фактов в контекст;
  • генерация — создание итогового ответа.

Архитектура RAG

Источником данных для RAG могут быть как структурированные базы, так и неструктурированные массивы — например, тексты книг или HTML-страницы. Чтобы система могла эффективно искать информацию, данные нужно разбить на фрагменты — чанки — и преобразовать в векторы с помощью эмбеддинг-модели.

Чанки — это сегменты текста, разбитые на токены. Токен — это не символ и не слово, а единица разбиения, зависящая от токенизатора модели. Для разных языков и алфавитов количество токенов на слово может сильно различаться.

Способ разбиения зависит от структуры данных:

  • для художественных или HTML-текстов — по абзацам;
  • для структурированных текстов — по знакам препинания;
  • для сложных документов — по фиксированному количеству токенов.

После векторизации чанки загружаются в векторную базу данных. При запросе система находит наиболее релевантные фрагменты и передаёт их в LLM для генерации ответа.

Как оценивать качество работы RAG?

Оценка RAG строится по трём основным направлениям: качество поиска, точность ответа и качество изложения.

1. Качество поиска — насколько хорошо система находит нужные документы.

  • Hit Rate — доля запросов, по которым система нашла хотя бы один релевантный документ.
  • Mean Reciprocal Rank (MRR) — показывает, насколько высоко в выдаче находится наиболее подходящий документ. Чем выше его позиция, тем лучше.

Эти метрики помогают понять, насколько эффективно работает retrieval-часть RAG. Если LLM работает хорошо, но RAG даёт сбои, стоит пересмотреть способ разбиения на чанки и качество поиска.

Для расчётов используется сравнение с золотым стандартом — ответами, подготовленными экспертами.

2. Точность ответа — насколько правильно модель интерпретирует найденные данные.

  • Factual Accuracy — доля фактически верных утверждений в ответе.
  • Отсутствие галлюцинаций — проверка, не добавляет ли модель вымышленную информацию.

Для оценки часто используется LLM-арбитр — отдельная модель, которая анализирует сгенерированный ответ. Этот подход не идеален, но хорошо работает в сочетании с автоматическими метриками и ручной проверкой.

3. Качество изложения — насколько понятен, логичен и полезен ответ.

  • ясность и структура — ответ должен быть читаемым и логичным;
  • релевантность — ответ должен соответствовать вопросу;
  • полезность — решает ли ответ реальную задачу пользователя.

В ПСБ качество изложения пока оценивается вручную. Однако можно частично автоматизировать процесс, создав размеченные наборы «вопрос-ответ» с указанием источников.

Метрики для компонентов RAG

Каждый элемент архитектуры можно оценивать отдельно.

Метрики для чанков:

  • размер чанка — баланс между достаточным контекстом и избыточным шумом;
  • смысловая цельность — зависит от метода разбиения;
  • перекрытие контекста — важно при использовании «скользящего окна», чтобы не терялись связи между фрагментами.

Для разбиения можно использовать LlamaIndex, LangChain или LLM, разделяющую текст по смыслу. «Скользящее окно» (например, 200 токенов с перекрытием 50) помогает сохранить контекст на границах чанков.

Метрики для эмбеддингов:

  • семантическое сходство — измеряется через косинусную близость векторов;
  • разрешающая способность — способность различать близкие по смыслу запросы;
  • качество кластеризации — насколько хорошо похожие чанки группируются вместе.

Для улучшения поиска можно использовать гибридный подход: сочетать векторный поиск с лексическим (TF-IDF, BM25), что повышает точность.

Уверенность системы

Чтобы понять, где LLM может галлюцинировать, можно использовать logprobs — вероятности предсказания токенов. Например, на вопрос «Небо какое?» модель может выдать:

  • «Небо чистое» — logprob: –1,6;
  • «Небо голубое» — logprob: –0,96.

Более высокая вероятность указывает на предпочтительный ответ. Однако logprobs — не гарантия правдивости, а лишь эвристика.

Если модель отвечает на вопросы о данных, которых не было в обучающей выборке, это сигнал к настройке. Снизить галлюцинации можно:

  • уменьшением температуры;
  • улучшением retrieval (повышением recall и precision);
  • использованием grounded prompting;
  • требованием цитирования источников;
  • внедрением правил отказа при недостатке данных.

Инструменты для оценки RAG

Основные инструменты:

  • RAGAS — автоматическая оценка без эталонов;
  • TruLens — мониторинг и трассировка LLM-приложений;
  • LangSmith — отладка цепочек LangChain;
  • собственные решения — скрипты, дашборды, CI/CD.

В ПСБ используется RAGAS из-за удобного интерфейса, поддержки LangChain и набора метрик. В перспективе планируется разработка внутреннего инструмента, так как существующие решения не всегда соответствуют требованиям безопасности.

Тестирование RAG

Тестирование RAG следует строить по пирамиде:

  • Компонентное тестирование — проверка отдельных частей: LLM, векторная БД, retrieval-настройки.
  • API-тесты — нагрузка, количество возвращаемых чанков и токенов.
  • E2E-тесты — проверка пользовательских сценариев.
  • Ручное тестирование — неизбежно на этапах оценки качества и безопасности.

Цикл оценки качества

Оценка RAG — это непрерывный процесс:

  • подготовка тестового датасета (генерация 100–1000 вопросов с помощью LLM);
  • запуск RAG и сбор ответов с найденными документами;
  • расчёт автоматических и ручных метрик;
  • анализ результатов и выявление узких мест;
  • улучшение системы.

Цикл нужно повторять регулярно.

Автоматические vs ручные метрики

Автоматические метрики быстрые, масштабируемые и объективные. Ручные — медленные, но точные, особенно при оценке качества изложения и контекстной корректности.

Идеальный подход — гибридный. Однако в финтехе автоматизацию нужно применять с осторожностью: есть риски утечки персональных данных. Автоматические системы не всегда корректно их распознают, поэтому ручная проверка остаётся необходимой.

Визуализация результатов

Для контроля качества полезно использовать:

  • дашборды с ключевыми метриками;
  • графики трендов качества во времени;
  • A/B тестирование разных версий системы;
  • heat maps проблемных зон.

Бизнес-ценность оценки RAG

Оценка качества RAG важна не только технически, но и с точки зрения бизнеса:

  • Доверие — RAG повышает уверенность в точности ответов.
  • Эффективность — сотрудники быстрее находят нужную информацию.
  • Безопасность — снижается риск ошибок за счёт использования проверенных источников.
  • Масштабируемость — систему легко внедрять в новые подразделения.

В отличие от файнтюнинга, RAG не требует больших затрат и позволяет быстро улучшить, например, чат-бот контактного центра.

Итоги

  • RAG — технология, а не магия. Её качество можно и нужно измерять.
  • Оценка должна охватывать поиск, точность и качество изложения.
  • Автоматические и ручные метрики дополняют друг друга.
  • Оценка — это непрерывный цикл улучшений.
Читать оригинал