Главная / Аналитика / Интервью
Интервью

Почему векторный поиск в проде врёт и как мы это чинили

CTO ИИ-стартапа рассказывает, как первая версия RAG выглядела идеально на демо и разваливалась на клиентах, и что пришлось переделать в первую очередь.

Артём Соколов3 минвчера

С чего началась ваша боль с RAG?

Первую версию собрали за неделю: эмбеддинги, вектора в pgvector, топ-5 чанков в промпт. На демо всё сияло. А в проде пошли жалобы: клиент спрашивает про действующий тариф, а модель цитирует прайс из архива за позапрошлый год. Тогда до нас дошло, что векторный поиск честно находит похожее по смыслу, но «похожее» и «верное» живут в разных вселенных.

Что переделывали раньше всего?

Нарезку документов. Мы резали текст по 512 токенов вслепую, и таблицы рвались пополам, а заголовок отрывался от своей секции. Переписали на разбиение по структуре: заголовок плюс его абзацы, таблица целиком, список целиком. Качество ответов подскочило раньше, чем мы вообще притронулись к самой модели.

Одного этого хватило?

Нет. Добавили гибридный поиск: вектора плюс обычный полнотекстовый по ключевым словам, а сверху реранкер. Артикулы, номера версий, даты вектор ловит отвратительно, а BM25 находит их влёт. Реранкер потом переставляет кандидатов по реальной релевантности. Точность на наших вопросах выросла примерно с 60 до 88 процентов.

Как поняли, что стало лучше, а не показалось?

Завели офлайн-набор из двухсот реальных вопросов с эталонными ответами. Каждый релиз гоняем по нему и смотрим, сколько ответов опирается на правильный источник. Без этого набора мы месяцами спорили бы вкусовщиной вместо цифр. Один инженер клялся, что новая версия умнее, а на наборе она проседала на трети вопросов.

Модель всё равно иногда выдумывает?

Иногда да, и тут спасает не хитрый промпт, а дисциплина. Мы требуем, чтобы каждый факт в ответе опирался на конкретный источник, и показываем этот источник рядом с ответом. Нет ссылки, значит модель сочиняет, и пользователь это видит. Прозрачность дешевле, чем попытки заставить модель никогда не ошибаться.

Совет тем, кто только заходит в RAG?

Не тратьте первый месяц на подбор модной модели эмбеддингов. Сначала почините нарезку и заведите метрику. Девять из десяти провалов RAG живут не в модели, а в том, что в промпт приезжает мусор. И храните рядом с чанком метаданные: дату, версию, раздел документа. Без них вы не отрежете устаревшее, и модель будет уверенно врать свежим тоном.