Loading prices...

RAG (генерация с дополнением поиском)

Обновлено 11.08.20261 мин

RAG — подход, при котором модель перед ответом ищет нужные фрагменты в вашей базе и отвечает уже по ним. Так она работает со свежими и закрытыми данными, которых не было в обучении, и заметно реже выдумывает.

Как это работает

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

Модель отвечает уже по этому материалу, а не по памяти. Отсюда два выигрыша: ответ опирается на проверяемый источник, и его можно снабдить ссылкой на конкретный документ.

Поиск идёт по смыслу, а не по словам. Запрос «как вернуть товар» находит раздел «политика возврата», даже если этих слов в нём нет, — потому что сравниваются векторы, а не строки.

RAG или дообучение

  • RAG — когда меняются данныеДокументы обновляются без переобучения модели: достаточно переиндексировать базу. Дообучение так не умеет.
  • Дообучение — когда меняется поведениеСтиль ответа, формат вывода, специфический жаргон — это про дообучение, а не про поиск.
  • Качество упирается в нарезкуСлишком мелкие куски теряют контекст, слишком крупные размывают поиск. Это основная настройка всей схемы.
  • Плохой поиск — плохой ответЕсли база отдала не те фрагменты, модель уверенно ответит по ним. RAG сокращает выдумки, но не отменяет проверку.