Одна из ключевых проблем ИИ — склонность к «галлюцинациям», то есть генерации убедительно звучащих, но ложных ответов. Яркий пример — когда модель пытается ответить на вопрос о том, что ей ещё не показали. Такие ошибки делают ИИ ненадёжным, особенно в критически важных сферах, таких как финтех. Одно из эффективных решений — технология 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 — технология, а не магия. Её качество можно и нужно измерять.
- Оценка должна охватывать поиск, точность и качество изложения.
- Автоматические и ручные метрики дополняют друг друга.
- Оценка — это непрерывный цикл улучшений.