Перейти к содержанию

← Исследования

Промпт-инжиниринг / Исследования

RAG для языковых моделей: как добавить знания

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

Проще говоря, RAG - это умная надстройка. Вместо того чтобы надеяться, что модель уже знает ответ, мы сначала ищем нужные документы в нашей собственной базе знаний, а затем подсказываем ей найденные отрывки прямо в запросе. Модель использует эту свежую информацию, чтобы дать точный и обоснованный ответ. Это как если бы вы, готовясь к сложному совещанию, быстро пролистали свежий отчет и, уже имея факты перед глазами, сформулировали четкую позицию.

Как работает RAG: архитектура из трех частей

Система RAG состоит из трех ключевых компонентов, которые работают последовательно.

1. Retriever (поисковый механизм). Его задача - найти в большой коллекции документов (например, во внутренней базе знаний компании, технической документации или архиве новостей) те фрагменты, которые наиболее релевантны вопросу пользователя. Обычно для этого используются векторные embeddings. Текст (и вопрос, и документы) преобразуется в числовые векторы - координаты в многомерном пространстве смыслов. Поиск сводится к нахождению векторов документов, ближайших к вектору вопроса. В российском контексте для этого этапа часто используют готовые opensource-решения, например, от Яндекса или другие библиотеки, доступные для локального развертывания.

2. Knowledge Source (источник знаний). Это и есть та самая база документов, которую мы индексируем. Важно, чтобы она была актуальной и надежной. Для бизнеса это могут быть последние версии регламентов, данные с корпоративного портала, спецификации продуктов или транскрипты поддержки клиентов.

3. Generator (генератор). Это сама большая языковая модель (LLM), например, GPT, GigaChat или YandexGPT. Ей на вход подается исходный вопрос пользователя и контекст - подобранные поисковиком отрывки текста. Задача модели - синтезировать связный, точный ответ, опираясь исключительно на предоставленный контекст, и сослаться на источники.

Работает это так: пользователь задает вопрос → система кодирует его в вектор и ищет похожие векторы в индексе → из базы знаний извлекаются соответствующие текстовые фрагменты → они вместе с вопросом передаются в LLM → модель генерирует финальный ответ.

Почему RAG лучше простого дообучения?

У подхода RAG есть несколько критических преимуществ перед полным дообучением (fine-tuning) модели.

  • Актуальность информации. Базу знаний можно обновлять хоть каждый день, добавляя свежие документы и переиндексируя их. Модель будет работать с последними данными, не требуя дорогостоящего ретренинга.
  • Прозрачность и контроль. Поскольку ответ строится на конкретных документах, всегда можно проверить, откуда взята информация. Это снижает риск "галлюцинаций" - когда модель выдает правдоподобный, но вымышленный факт. Для бизнеса, особенно в регулируемых отраслях, такая проверяемость жизненно важна.
  • Экономичность. Не нужно тратить огромные ресурсы на дообучение много миллиардной модели. Основные затраты идут на создание и обновление векторного индекса, что значительно дешевле.
  • Безопасность. Контекст можно очищать от чувствительных данных перед отправкой в публичную LLM (например, в облако OpenAI), либо использовать локально развернутые модели, такие как GigaChat, что актуально для работы с коммерческой тайной.

Практический пример: RAG в действии

Представьте, что вы внедрили RAG-систему на базе внутренней технической базы знаний IT-отдела. Пользователь спрашивает о конкретной процедуре.

Промпт:

Используй только предоставленный контекст для ответа.
Контекст: "Процедура сброса пароля учетной записи сотрудника (v.2.1). Шаг 1: Перейдите в панель администрирования ADManager. Шаг 2: Найдите сотрудника по фамилии в глобальном поиске. Шаг 3: Кликните на учетную запись и выберите 'Сбросить пароль'. Шаг 4: Сгенерируйте временный пароль, используя встроенный генератор. Шаг 5: Сообщите временный пароль сотруднику через защищенный канал. Важно: не отправляйте пароль по email."
Вопрос: Как сгенерировать временный пароль при сбросе в ADManager?
Ответ модели:
Согласно предоставленной документации (v.2.1), чтобы сгенерировать временный пароль, необходимо использовать встроенный генератор паролей на шаге 4 процедуры сброса пароля в панели администрирования ADManager.

Модель не придумывает ответ, а точно ссылается на данный ей контекст.

Ограничения и сложности RAG

Метод не лишен недостатков, и их важно учитывать при проектировании системы.

  • Качество поиска. Если поисковик не нашел нужный документ или нашел нерелевантный, модель получит плохой контекст и даст неточный ответ. Качество embeddings и настройка поиска - ключевые факторы успеха.
  • Ограничение длины контекста. Модели имеют лимит на количество токенов во входном промпте. Если нужно передать много релевантных документов, придется их агрегировать или выбирать только самые важные фрагменты.
  • Зависимость от структуры данных. RAG лучше всего работает с хорошо структурированным текстом. Разрозненные заметки, таблицы без описаний или мультимедийный контент требуют дополнительной предобработки.

Будущее и развитие подхода

RAG - активно развивающаяся область. Исследования направлены на улучшение всех этапов: более умный поиск, который понимает сложные запросы (см. статью "Pre-computed memory or on-the-fly encoding?" на arXiv:2303.09513), лучшие методы сжатия и агрегации контекста, а также интеграция RAG непосредственно в архитектуру моделей во время их обучения.

Для российских разработчиков и компаний RAG открывает путь к созданию мощных корпоративных ассистентов на основе как зарубежных, так и локальных LLM (YandexGPT, GigaChat), без необходимости раскрывать внутренние данные и с гарантией актуальности информации. Это не просто модный термин, а практичный и эффективный способ усилить интеллектуальные возможности бизнеса уже сегодня.

Попробуйте ENGRAM на своих данных

Нейросеть на ваших встречах, документах и переписке: отвечает со ссылкой на источник. Это ваша вторая память на базе ИИ. Данные хранятся в России, старт бесплатный.

Зарегистрироваться бесплатно
Обучаем команды работе с нейросетями под ваши процессы. Узнать о корпоративном обучении