Обучение · RAG · LLM 26 сентября 2026 · 5 мин чтения

Что такое RAG: поиск по базе знаний плюс генерация ответа

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

Что такое RAG простыми словами

RAG (retrieval augmented generation, «генерация, дополненная извлечением») — это способ заставить языковую модель отвечать не по памяти, а по конкретным документам.

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

Термин закрепился после работы Lewis и соавторов 2020 года. Сегодня RAG — один из самых распространённых способов применять LLM в компаниях: для поддержки, внутренних баз знаний, работы с договорами и регламентами.

Зачем RAG нужен языковой модели

У любой LLM есть три ограничения, которые не лечатся одним только увеличением модели.

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

Как работает RAG-система

RAG состоит из двух этапов: подготовки базы знаний и ответа на вопрос.

Этап 1. Индексация документов

  1. Сбор. Берут источники: PDF, страницы вики, выгрузки из CRM, письма, таблицы.
  2. Разбиение на фрагменты. Длинные документы режут на куски по несколько абзацев — их часто называют чанками. Слишком крупный фрагмент тащит в ответ лишнее, слишком мелкий теряет смысл.
  3. Эмбеддинги. Каждый фрагмент превращают в вектор — набор чисел, который описывает его смысл.
  4. Сохранение. Векторы вместе с текстом и метаданными (название документа, дата, раздел) кладут в векторную базу данных.

Этап 2. Ответ на вопрос

  1. Вопрос пользователя тоже превращают в эмбеддинг.
  2. В векторной базе ищут фрагменты, чьи векторы ближе всего к вектору вопроса, — то есть самые близкие по смыслу.
  3. Найденные фрагменты вставляют в запрос к модели вместе с инструкцией: «Ответь на вопрос, опираясь только на эти материалы, и укажи источники».
  4. Модель генерирует ответ и ссылки на документы, из которых он собран.

Как выглядит запрос к модели

Упрощённо запрос, который RAG-система собирает для LLM, выглядит так:

Ты помощник службы поддержки. Отвечай только на основе материалов ниже. Если ответа в них нет, так и скажи. После ответа укажи названия документов, на которые опирался. Материалы: [фрагмент 1 — «Условия возврата», раздел 3] [фрагмент 2 — «Доставка», раздел 1]. Вопрос клиента: можно ли вернуть товар, если упаковка вскрыта?

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

Эмбеддинги и векторная база

Эмбеддинг — это представление текста в виде вектора, где близкие по смыслу тексты оказываются рядом. Фразы «как вернуть товар» и «оформить возврат покупки» почти не совпадают по словам, но их эмбеддинги будут близки. Поэтому семантический поиск находит нужное, даже если пользователь сформулировал вопрос не так, как написано в документе.

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

RAG в контексте: как найденное попадает к модели

У каждой LLM есть окно контекста — объём текста, который она видит за один запрос. RAG работает именно через контекст: найденные фрагменты просто добавляются в текст запроса.

Отсюда два важных следствия:

RAG, дообучение или длинный контекст

ПодходЧто делаетКогда подходит
RAGНаходит нужные фрагменты и передаёт их модели в запросеБольшая или часто меняющаяся база знаний, нужны ссылки на источники
Дообучение (fine-tuning)Меняет веса модели на ваших примерахНужен особый стиль, формат или узкий навык, а не свежие факты
Длинный контекстПередаёт документ модели целикомРазовая работа с одним или несколькими документами

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

Где применяют RAG

Где RAG-системы ошибаются

Как проверять качество RAG

Качество RAG складывается из двух частей, и оценивать их стоит отдельно.

  1. Поиск. Нашла ли система те фрагменты, где действительно есть ответ? Для этого составляют список типовых вопросов и заранее отмечают правильные документы.
  2. Ответ. Опирается ли модель только на найденное, не искажает ли смысл, правильно ли указывает источники?

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

Что дальше

Если вы думаете о RAG для своей компании, начните с небольшого пилота на одной базе документов — пошаговый план есть в статье «RAG-пилот за 2 недели». Для генерации ответов и эмбеддингов понадобится доступ к моделям — его можно получить через IRI Gateway.

Читать в разделе «Обучение»

Частые вопросы

Что такое RAG система?

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

Как расшифровывается retrieval augmented generation?

Дословно — «генерация, дополненная извлечением». Сначала из внешнего источника извлекают релевантные данные, потом модель генерирует ответ с их учётом. Термин закрепился после работы Lewis и соавторов 2020 года.

Зачем нужен RAG для LLM?

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

Что значит RAG в контексте модели?

Найденные фрагменты документов добавляются в контекст — то есть в текст запроса, который модель видит перед ответом. Модель не запоминает их навсегда: они работают только в этом запросе.

ОбучениеRAGLLM