Перейти к содержимому

IT&SOFT3 мин чтенияИИ

RAG простыми словами: как заставить нейросеть отвечать по вашим документам

Почему модель нельзя просто «обучить на регламентах», как устроен поиск по базе знаний под капотом и на каких пяти местах RAG-системы ломаются чаще всего.

Запрос звучит одинаково у всех: «хотим бота, который отвечает по нашим документам». Дальше почти всегда следует предложение «обучить нейросеть на наших регламентах». Обучение здесь ни при чём, и понимание почему экономит месяц и пару миллионов.

Почему модель не «обучают» на документах

Дообучение меняет веса модели. Это дорого, требует тысяч примеров и решает другую задачу — научить модель стилю или формату ответа. Знание фактов оно закрепляет плохо: модель начинает уверенно путать похожие документы.

И главное: регламент меняется в понедельник, а переобучение занимает дни. База знаний, которую нельзя обновить за минуту, бесполезна.

Как это работает вместо обучения

RAG расшифровывается как retrieval-augmented generation — генерация с поиском. Схема из четырёх шагов:

  1. Документы режутся на куски по 200–800 слов. Кусок должен быть самодостаточным: абзац, вырванный из середины таблицы, отвечать ни на что не поможет.
  2. Каждый кусок превращается в вектор — набор чисел, который отражает смысл текста. Близкие по смыслу куски получают близкие векторы.
  3. Вопрос пользователя тоже превращается в вектор, и система находит пять-семь ближайших кусков.
  4. Модель получает вопрос вместе с найденными кусками и пишет ответ, опираясь только на них.

Модель ничего не запоминает. Она каждый раз получает нужный фрагмент прямо в запросе. Поменяли регламент — переиндексировали документ, следующий ответ уже новый.

Что даёт этот подход

Источник под ответом. Система знает, из какого документа взят фрагмент, и может показать ссылку. Сотрудник проверяет за две секунды.

Разграничение доступа. Поиск можно ограничить документами, к которым у пользователя есть право. Модель физически не увидит того, чего не должна.

Обновление за минуту. Загрузили новую версию — переиндексировали.

Где такие системы ломаются

Нарезка. Самая недооценённая часть. Таблицу, разрезанную пополам, не починит никакая модель. Документы со сложной структурой — договоры, прайс-листы, инструкции с вложенными пунктами — требуют своей логики нарезки. Это часы работы; настройкой по умолчанию тут не обойтись.

Поиск по синонимам вашей отрасли. Векторный поиск понимает общий язык. Внутренний жаргон компании он не знает: «форма 4-ФСС» и «отчёт в соцстрах» для него разные вещи. Лечится гибридным поиском — векторный плюс обычный полнотекстовый по ключевым словам.

Вопросы про количество. «Сколько у нас поставщиков в Сибири» — поиск принесёт пять кусков из справочника, модель посчитает по ним и уверенно ошибётся. Такие вопросы надо отправлять запросом в базу данных, минуя поиск по тексту.

Устаревшие версии рядом с актуальными. Если в базе лежат регламент 2023 года и его новая редакция, поиск принесёт оба, и модель выберет тот, что текстуально ближе к вопросу. Версионирование документов — обязательная часть системы.

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

Что нужно от вас перед стартом

Документы в машиночитаемом виде. Сканы договоров без распознавания — отдельный проект. PDF, экспортированный из Word, читается хорошо; PDF, собранный из фотографий, требует OCR и вычитки.

Понимание, кто что имеет право видеть. Права доступа проектируются до индексации.

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

Как понять, что система работает

Соберите набор из пятидесяти вопросов с эталонными ответами и прогоняйте его после каждого изменения. Смотрите две вещи: нашёлся ли правильный документ и верен ли ответ по нему.

Разделять их обязательно. Если документ не нашёлся — проблема в нарезке или поиске. Если нашёлся, а ответ неверный — проблема в инструкции модели. Метрика «процент довольных пользователей» не показывает ни того, ни другого.

Сколько это стоит

Пилот на одной базе знаний — от 300 тысяч. Основные часы уходят на нарезку, настройку поиска и тестовый набор. Подключение модели занимает день.

Эксплуатация — от 5 до 50 тысяч в месяц при тысяче обращений, в зависимости от того, сколько текста уходит в модель на каждый ответ.

ПоделитьсяTelegramVK
Автор

IT&SOFT

Небольшая команда инженеров. Пишем о том, что делаем руками, и о том, что при этом ломается. Если у вас похожая задача, напишите — разберём её на вашем примере.

Обсудить задачу
Подписаться на новые разборы
Дальше

Похожая задача
у вас?

Опишите её в брифе. В рабочее время вернёмся с оценкой срока и стоимости в течение двух часов.