Все статьи
Нейросети · 3 мин

RAG в ИИ — что это простыми словами

Что такое RAG: как языковая модель ищет ответ не в памяти, а во внешней базе документов, и как собрать такое самому.

Олег ЕмельяновДелаю продукты с помощью ИИ

Что это простыми словами

RAG (Retrieval-Augmented Generation, «генерация с подкреплением поиском») — это способ работы языковой модели, при котором перед тем как ответить, она сначала находит нужные фрагменты текста во внешней базе и уже на их основе формирует ответ.

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

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

Ответ строится не из памяти модели, а из найденных документов

Термин · RAG · Retrieval-Augmented Generation · Способ работы модели, при котором перед ответом она ищет нужные фрагменты во внешней базе и строит ответ на их основе.

Из этого принципа выросло многое из того, что сейчас называют «чатом с документами» или ИИ-агентом с памятью: загружаешь файлы, а LLM ищет в них ответ, а не придумывает его из головы.

Как это устроено

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

Поиск идёт до генерации ответа, а не вместо неё

Поиск · ищем похожие куски текста · Подстановка · вставляем их в промпт · Генерация · отвечает с этим контекстом

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

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

Пример из жизни

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

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

Один и тот же принцип работает в поддержке, коде и заметках

Где встречается RAG · Поддержка · ответ по документации компании · Код · поиск по файлам репозитория · Заметки · поиск по личной базе знаний

С чего начать

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

Если собираешь RAG руками, понадобятся три части: векторная база для хранения фрагментов, модель для превращения текста в векторы (эмбеддинг) и языковая модель, которая пишет финальный ответ. Для первого теста хватит нескольких файлов и простого промпта с инструкцией отвечать только по найденному контексту.

Промпт
Отвечай только на основе фрагментов текста ниже. Если ответа в них нет — так и скажи, не придумывай.

Фрагменты:
{context}

Вопрос: {question}

Вопросы и ответы

RAG в ИИ это что

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

Чем RAG отличается от обычной модели

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

Зачем нужен RAG

Чтобы модель отвечала по актуальным и точным данным, а не путала и не придумывала факты, которых не знает.

Читать ещё