RAG (ответ нейросети по вашим документам): что это такое простыми словами, как работает и зачем нужен

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

47 минут чтения

Представьте: вы загрузили в нейросеть договор и спросили, какой срок оплаты в нём указан. Ответ пришёл мгновенно, уверенный и грамотный. Только в договоре стоит другое число. Нейросеть не соврала намеренно: она не видела вашего договора и сочинила то, что звучит правдоподобно. Это и называют галлюцинацией (когда модель подаёт выдуманное как факт).

Другая ситуация: вы спрашиваете у нейросети о правилах возврата в вашем магазине. Правила вы обновили на прошлой неделе, а модель обучали давно, и о вашем магазине она вообще ничего не знает. Языковые модели знают только то, на чём их обучали, и вещи вроде текущего ассортимента или внутренних процессов компании им недоступны.

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

Эта статья — подробный разбор для владельца бизнеса и руководителя, у которых нет технического образования. Мы ответим на вопросы, которые люди задают чаще всего. Что такое RAG и что значит это слово. Зачем он нужен и какие проблемы решает. Как он работает шаг за шагом и из чего состоит. Что такое эмбеддинги и векторная база данных. Почему качество зависит от нарезки документов. Чем RAG отличается от дообучения и от обычного поиска. Какие технологии используют, где RAG применяют и где он не подходит. Как подготовить данные, как защитить их и как проверить, что система отвечает верно. Факты взяты из документации и публикаций производителей, из научных статей и учебных материалов, мы читали их целиком. Где источник говорит только о себе, мы так и пишем.

Что вы узнаете

  • Что это
    Определение, расшифровка и смысл слова RAG, откуда оно взялось.
  • Как работает
    Принцип шаг за шагом, компоненты, эмбеддинги, нарезка и поиск.
  • Что выбрать
    RAG, дообучение, длинный контекст или обычный поиск.
  • Где применять
    Задачи, данные, безопасность и проверка качества.
  • Чего ждать
    Ограничения и типичные ошибки.
  • С чего начать
    Этапы внедрения и план на неделю.

RAG простыми словами: что это такое, расшифровка и определение

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

Определения у разных производителей звучат по-своему, но смысл один. Облачный сервис Amazon (AWS) называет RAG процессом, в котором перед ответом большая языковая модель обращается к надёжной базе знаний за пределами обучающих данных. Компания (IBM) описывает его как архитектуру, которая улучшает работу модели ИИ (искусственного интеллекта), подключая её к внешним базам знаний. Корпорация (Oracle) пишет, что RAG оптимизирует ответы модели целевой информацией, не меняя саму модель. Энциклопедия (Википедия) отмечает: сначала модель обращается к выбранному набору документов и только потом отвечает на вопрос.

RAG в определениях производителей

  • AWSПроцесс, при котором перед ответом модель обращается к надёжной базе знаний вне обучающих данных.
  • IBMАрхитектура, которая подключает модель к внешним базам знаний.
  • OracleСпособ оптимизировать ответ модели целевой информацией, не меняя саму модель.
  • ВикипедияТехника, при которой модель сначала обращается к выбранному набору документов, затем отвечает.
  • MongoDBАрхитектурная рамка, а не отдельная модель.

Что значит RAG в контексте ИИ и ИТ

В мире ИИ и информационных технологий слово RAG означает не отдельную нейросеть, а способ её использования. Производитель (MongoDB) подчёркивает: хотя иногда говорят «RAG-модель», RAG — не модель, а архитектурная рамка, которая расширяет возможности модели внешними источниками знаний. Поэтому «RAG модель ИИ» точнее читать как «модель ИИ, работающая по схеме RAG». Саму модель, которая пишет ответ, называют генератором, а часть, которая ищет, — поисковиком.

Простая аналогия: судья и помощник

Компания (NVIDIA) объясняет RAG через суд. Судья решает дела на основе общего понимания закона. Но когда нужна узкая экспертиза, например по врачебной ошибке или трудовому спору, он отправляет помощников в юридическую библиотеку за прецедентами. У ИИ роль такого помощника играет RAG. А облачный сервис (AWS) предлагает ещё один образ: языковая модель похожа на нового сотрудника с чрезмерным энтузиазмом, который не следит за новостями, но на каждый вопрос отвечает с полной уверенностью. RAG выдаёт этому сотруднику папку с нужными документами.

Откуда взялся RAG: статья 2020 года

Термин ввела научная статья 2020 года, которую написала группа исследователей во главе с Патриком Льюисом из исследовательской лаборатории (Facebook AI Research). Статья подана 22 мая 2020 года и принята на научную конференцию (NeurIPS) 2020 года. Авторы описали модели, где «параметрическая память» (знания, зашитые в самой модели) соединена с «непараметрической» (внешним индексом, в их случае это векторный индекс Википедии). Они назвали RAG универсальным рецептом дообучения, который подходит почти любой модели и любому внешнему ресурсу. Сам автор позже признавался, что над названием не думали: никто не предполагал, что работа станет такой известной.

Корни идеи уходят глубже. По рассказу NVIDIA, системы «вопрос-ответ» прототипировали исследователи информационного поиска ещё в начале 1970-х, а в середине 1990-х их популяризовал сервис (Ask Jeeves). В 2011 году система (Watson) обыграла двух чемпионов в телеигре (Jeopardy!).

История идеи: от вопросов к базам до RAG

  1. 1970-е

    Исследователи прототипируют системы «вопрос-ответ», сначала по узким темам.

  2. 1990-е

    Сервис Ask Jeeves популяризует ответы на вопросы.

  3. 2011

    Система Watson обыгрывает двух чемпионов в телеигре.

  4. 2020

    Научная статья вводит термин RAG; принята на конференцию NeurIPS.

  5. Начало 2020-х

    RAG набирает силу как способ преодолеть ограничения статичных моделей.

Даты и события взяты из рассказа NVIDIA, оригинальной статьи и описаний производителей.

Зачем нужен RAG: какие проблемы нейросетей он решает

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

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

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

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

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

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

Шесть слабых мест обычной нейросети и что делает RAG

  • Устаревшие знания
    RAG берёт свежий текст из вашей базы и подставляет к вопросу.
  • Нет ваших данных
    Документы компании остаются у вас, а нейросеть получает нужный кусок на время ответа.
  • Узкие темы
    В базу кладут специальные материалы, и модель опирается на них.
  • Нет источников
    К ответу прикладывают ссылки на документы, которые можно проверить.
  • Выдумки
    Ответ привязывают к найденному тексту, а не к памяти модели.
  • Дорогое переобучение
    Базу достаточно обновлять, модель переучивать не нужно.

Что такое галлюцинация и почему она опасна

Компания (IBM) определяет галлюцинации ИИ как ситуации, когда система выдаёт то, что звучит правдоподобно, но фактически неверно, нерелевантно или выдумано. Это может быть выдуманный факт, исследование или несуществующая ссылка. Причина в устройстве: модель обучена предсказывать следующее слово по образцам, а не знать, что истинно. Она оптимизирует правдоподобие, а не верность фактам о мире. Поэтому галлюцинации можно уменьшить, но нельзя полностью устранить.

IBM выделяет разные виды. Фактическая галлюцинация — когда ИИ утверждает неверное о мире. Контекстная — когда он должен отвечать по документу, но опирается на общие данные. Согласованности — когда модель противоречит сама себе в одной беседе. Здесь RAG и нужен: он заставляет брать ответы из доверенных источников, а не «свободно ассоциировать».

Что даёт RAG: восемь выгод

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

Выгоды RAG

  • Свежесть
    Ответы опираются на актуальные документы, а не на давние данные обучения.
  • Знание компании
    Помощник отвечает по вашим регламентам, ценам и продуктам.
  • Ссылки на источники
    Ответ можно проверить по первоисточнику.
  • Экономия
    Не нужны обучение и дообучение, достаточно обновлять документы.
  • Контроль
    Можно выбирать и менять источники, ограничивать доступ.
  • Данные у вас
    Конфиденциальное остаётся в вашей системе, доступ можно отозвать.
  • Быстрое обновление
    Новый документ загрузили, и ответы изменились.
  • Разговор с данными
    Вопросы задают обычным языком, а не запросами к базе.

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

Как работает RAG: принцип работы шаг за шагом

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

Часть первая: подготовка базы знаний

Производители называют её по-разному: приём данных, индексация, загрузка. По существу это четыре действия.

Первое: собрать документы. Источниками могут быть файлы, страницы сайтов, базы данных, письма, внутренние вики, сервисы по программному интерфейсу (API — способ, которым одни программы обращаются к другим). Многое из этого неструктурированные данные, то есть обычный текст без разметки по полям. Нужен формат, понятный системе: чаще всего это текст, а документы преобразуют в него и очищают.

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

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

Четвёртое: сохранить. Числа и исходные тексты кладут в хранилище, которое быстро ищет похожее, — векторную базу данных.

Эта часть делается заранее, а потом база только обновляется, когда меняются документы.

Подготовка базы знаний: делается заранее

  1. ДокументыФайлы, страницы, базы, письма
  2. ОчисткаУбрать дубли и устаревшее
  3. НарезкаКуски-чанки
  4. ЭмбеддингиСмысл куска в числах
  5. Векторная базаЧисла и исходный текст
Шаги называют по-разному, порядок общий. При изменении документов базу обновляют.

Часть вторая: ответ на вопрос

Ответ на вопрос: происходит каждый раз

  1. ВопросЧеловек пишет обычными словами
  2. Числа вопросаТой же моделью, что и документы
  3. ПоискБерём самые близкие куски
  4. Запрос моделиВопрос, куски и инструкция
  5. ОтветСо ссылками на источники
Название RAG отсюда: система извлекает данные, дополняет запрос и генерирует ответ.

Когда человек задаёт вопрос, происходит пять шагов. Вопрос превращают в числа той же моделью, что и документы. База находит куски, чьи числа ближе всего к числам вопроса. Система собирает запрос к нейросети: исходный вопрос, найденные куски и инструкция. Нейросеть пишет ответ, опираясь на этот контекст. И по желанию к ответу прикладывают ссылки на документы.

Пример от AWS: вопрос об отпуске

Что видит нейросеть на самом деле

Нейросеть не «знает» вашу базу: она получает в запросе вопрос и выбранные фрагменты. Дополненный запрос выглядит как короткая инструкция. Образец из материалов компании (Pinecone): вот вопрос, вот контекст, ответь по контексту, а если ответа в контексте нет, скажи, что не знаешь. Такая формулировка побуждает модель использовать найденные факты и снижает вероятность выдумки.

Из чего состоит RAG-система: компоненты и технологии

Любая RAG-система собирается из одних и тех же частей. Компания (IBM) называет четыре основных. База знаний — внешнее хранилище данных системы. Поисковик (retriever) — модель, которая ищет в базе нужное. Слой интеграции — часть, которая координирует работу всего и собирает запрос. Генератор — языковая модель, пишущая ответ по вопросу и найденному. Дополнительно бывают ранжировщик, который упорядочивает найденное по важности, и обработчик вывода, который оформляет ответ.

Яндекс Облако описывает то же проще: RAG-система состоит из двух частей — поискового индекса (структуры, которая позволяет быстро искать) и языковой модели, которые работают по очереди. Поисковик находит данные, модель использует их для ответа. А библиотека (LlamaIndex) делит процесс на пять стадий: загрузка, индексация, хранение, запрос и оценка. Оценку часто забывают, и зря: она показывает, насколько ответы точные, верные и быстрые.

Как устроена RAG-система: слои

  • Ответ пользователюТекст, оформленный обработчиком вывода, со ссылками на источники
  • ГенераторЯзыковая модель пишет ответ по вопросу и найденным кускам
  • Слой интеграцииСобирает запрос из вопроса, найденного и инструкции
  • Поисковик и ранжировщикИщет куски в базе и упорядочивает по важности
  • База знанийДокументы, нарезанные куски, эмбеддинги и метаданные
Снизу вверх: из документов собирается база, поисковик достаёт нужное, слой интеграции собирает запрос, генератор отвечает.

Из чего собирают на практике

Строить всё с нуля не нужно. Для связки частей используют открытые библиотеки: библиотека (LangChain) соединяет модели, эмбеддинги и базы знаний, а библиотека (LlamaIndex) создана специально под конвейеры RAG. Облачные платформы предлагают готовые сервисы: Amazon Bedrock Knowledge Bases (управляемая база знаний от облачного сервиса AWS) подключает модель к вашим данным за несколько щелчков, а в Яндекс Облаке, Сбере и Cloud.ru есть свои решения для российского рынка. Подробнее о выборе — в отдельном разделе.

Что делает каждая часть

  • База знанийХранит куски документов и их эмбеддинги; её нужно обновлять.
  • ПоисковикПревращает вопрос в числа и находит близкие куски.
  • Слой интеграцииКоординирует процесс и строит запрос к модели.
  • ГенераторПишет ответ по вопросу и найденному контексту.
  • РанжировщикУпорядочивает найденное по важности, это необязательная часть.
  • ОценкаИзмеряет точность, верность и скорость ответов.

Эмбеддинги и векторная база данных: простыми словами

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

Главное свойство такое: тексты близкого смысла получают близкие числа. Производитель (Red Hat) приводит пример: слова «кофе» и «чай» окажутся рядом, «горячий напиток» тоже будет близко, а «телевизор» — далеко. Компания (IBM) показывает то же на словах «кошка» и «собака». Эмбеддинги учатся из данных, а не задаются людьми вручную, и бывают для слов, текстов, изображений, звука и графов.

Как сравнивают числа

Близость двух наборов чисел измеряют косинусной близостью — это угол между двумя векторами (векторами называют такие наборы чисел). Результат лежит от минус единицы до единицы: значения около единицы означают высокую похожесть. В учебном курсе Anthropic для примера смоделировали два раздела отчёта, и вопрос о программной инженерии оказался гораздо ближе к соответствующему разделу, чем к медицинскому. Косинусное расстояние — это единица минус косинусная близость, поэтому чем оно меньше, тем больше сходство.

Векторная база данных: что это и чем отличается от обычной

Векторная база хранит эмбеддинги и умеет быстро искать самые похожие. Компания (IBM) описывает её как хранилище, которое хранит, индексирует и ищет многомерные векторы. Рядом с каждым эмбеддингом лежат метаданные: название документа, источник, время, категория. Эмбеддинги считают заранее, поэтому при запросе их не нужно пересчитывать, а результаты возвращаются за миллисекунды. Поиск по сходству можно сочетать с фильтрами, например брать только документы за нужный период.

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

Выбор у компаний есть: отдельные векторные базы, открытые решения, расширения существующих баз и поисковые системы с поддержкой векторов. Например, расширение (pgvector) добавляет векторный поиск в базу данных (PostgreSQL), и компания может обойтись знакомым инструментом.

Смысловой поиск и поиск по словам: в чём разница

Поиск по словам и поиск по смыслу

По точным словам

Как ищет
Совпадение слов запроса и текста
Запрос «смартфон»
Находит только слово «смартфон»
Слова не совпали
Пропустит документ
Сильная сторона
Точные термины, номера, названия
Слабая сторона
Слишком буквален, может найти слишком много или не то

По смыслу (векторный)

Как ищет
Сходство смысла запроса и текста по эмбеддингам
Запрос «смартфон»
Находит и «мобильное устройство»
Слова не совпали
Найдёт, если смысл близок
Сильная сторона
Перефразировки, синонимы, разные языки
Слабая сторона
Может пропустить точный номер или код

Лучшие системы используют оба способа вместе, об этом дальше в разделе про гибридный поиск.

Обычный поиск работает по точным совпадениям: запрос «смартфон» найдёт только страницы со словом «смартфон». Векторный поиск вернёт и «мобильное устройство». Это называют смысловым поиском. Он понимает намерение и контекст запроса, а не только слова. Материал Red Hat приводит пример: запрос «отпуск мечты» система поймёт как идеальный отпуск, а не как рассказ о снах.

Смысловой поиск находит документы даже тогда, когда точных слов запроса в тексте нет. Ещё один пример от Microsoft: человек спрашивает про «PTO» (сокращение для оплачиваемого отпуска), а в документах написано «отпуск», «удалённая работа» и «новички». Обычный поиск такие документы не свяжет. Смысловой поиск понимает, что это про одно и то же: по запросу «подбор персонала» он найдёт «найм», а ещё умеет сопоставлять содержимое на разных языках.

Нарезка документов (чанкинг): почему от неё зависит качество

Чанкинг — это разбиение большого текста на небольшие сегменты, чанки. Это один из самых важных шагов всей системы: от того, как вы режете документы, напрямую зависит качество ответов. Плохая нарезка подсовывает нейросети нерелевантный контекст и приводит к неверным ответам. Один из производителей (Weaviate) замечает: когда RAG работает плохо, проблема часто не в поиске, а в кусках. Идеальный поиск бессилен над плохо подготовленными данными.

Зачем резать вообще

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

Не слишком мелко и не слишком крупно

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

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

Какого размера бывают куски

Размер куска измеряют в токенах: так называют части текста, с которыми работает модель, — слово или его часть, в среднем три-четыре символа.

Какие размеры встречаются в источниках

  • 128–1000Яндекс Облако: на практикеДиапазон размера куска в токенах.
  • 700Яндекс Облако: для русскогоРазмер куска и перекрытие около 300 токенов.
  • 512Weaviate: стартовая настройкаПерекрытие 50–100 токенов.
  • 800OpenAI: по умолчаниюПерекрытие 400 токенов.
  • 128–256Pinecone: мелкие для пробТокенов для детальных кусков; крупные — 512–1024.

Единого правильного размера нет. Документация Яндекс Облака называет «на практике» от примерно 128 до примерно 1000 токенов; чем больше контекста допускает модель, тем крупнее может быть кусок. Для русского языка Яндекс использует около 700 токенов с перекрытием около 300 и тут же оговаривает, что параметры надо проверять на своих данных. Weaviate предлагает стартовую настройку 512 токенов и перекрытие 50–100, а OpenAI по умолчанию режет на 800 токенов с перекрытием 400. Расхождение показательно: у каждого свои значения, и верное нужно найти опытом.

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

Способы нарезки: от простых к сложным

Способы нарезки: что выбрать

Как работает

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

Когда подходит

Фиксированный размер
Быстрый старт и базовая оценка; подходит любому документу
Рекурсивный
Статьи и обычные тексты, хороший вариант по умолчанию
По структуре
Хорошо оформленные документы
Смысловой
Плотные тексты, договоры, научные статьи
С помощью модели
Ценные сложные документы
Иерархический
Очень большие документы вроде руководств

Минус

Фиксированный размер
Обрезает слова и отрывает заголовки от текста
Рекурсивный
Размер кусков немного колеблется
По структуре
Нужна ясная структура
Смысловой
Сложнее и дороже
С помощью модели
Самый дорогой и медленный
Иерархический
Сложнее базового

Нет единственно верного способа: выбор зависит от ваших документов и от того, что вы готовы тратить на подготовку.

Простые способы хороши для старта. Нарезка фиксированного размера подходит для быстрого прототипа и базовой оценки, и Pinecone советует начинать именно с неё, возвращаясь к другому только когда она не справится. Рекурсивная нарезка делит по абзацам, затем по предложениям и считается хорошим вариантом по умолчанию для статей. Нарезка по структуре использует заголовки, теги и функции кода, но работает, только когда структура документа ясна. Сложные способы — смысловая, на основе модели, агентная, поздняя, иерархическая — дают более точные куски ценой времени и денег. Нарезка с помощью модели, например, считается самой дорогой и медленной.

Нужна ли нарезка вообще

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

Особый случай: PDF и таблицы

PDF — визуальный формат: колонки, таблицы и сканы мешают извлечению текста. Для сканов нужно распознавание текста. Надёжнее всего сначала перевести PDF в структурированный формат (Markdown — простой формат разметки с заголовками и списками) и резать уже его.

Нарезка: проверьте перед запуском

Отметьте, что уже сделано. Прогресс виден над списком.

Это список из рекомендаций производителей, а не стандарт.

Как подобрать нарезку для своих данных

Универсального решения нет. Поэтому действуют так: выбирают несколько размеров для проб, сравнивают их на репрезентативных данных и реальных вопросах, и отдельно привлекают людей. Люди просматривают найденные куски и ответы модели и замечают то, что упустят метрики. Нарезку нужно постоянно отслеживать и улучшать, а не настроить один раз.

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

Как искать лучше: гибридный поиск, переранжирование и контекстный поиск

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

Гибридный поиск: смысл плюс точные слова

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

Решение — запускать оба поиска параллельно и объединять результаты. У двух методов взаимодополняющие сильные стороны, и вместе они дают точнее каждого по отдельности. Pinecone объясняет, зачем это нужно: люди не всегда говорят о теме одними словами (тогда выручает смысловой поиск), но часто используют внутренние сокращения, названия продуктов или команд (тогда нужен лексический).

Объединять результаты нужно умно: простое склеивание списков не работает, потому что у методов разные системы оценок. Для этого применяют метод взаимного слияния рангов (RRF). Он считает счёт по месту куска в каждом из списков: кусок, который высоко стоит в обоих, поднимается наверх.

Переранжирование: сначала много, потом лучшее

Даже гибридный поиск иногда ставит менее подходящий кусок первым. Поэтому добавляют ещё один шаг — переранжирование: найденное отдают модели-оценщику, и она упорядочивает куски по важности для вопроса. Компания (Pinecone) объясняет причину так. Эмбеддинги сжимают смысл текста в один вектор и теряют часть информации, поэтому нужное нередко оказывается ниже отсечки, и документ в выдачу не попадает. Просто взять больше документов нельзя: у нейросети есть предел окна контекста, а забивание контекста ухудшает её способность находить нужное и следовать инструкциям.

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

Двухэтапный поиск с переранжированием

  1. ВопросЧеловек задаёт его обычными словами
  2. Быстрый отборПоиск берёт много кусков, например двадцать пять
  3. ПереранжированиеМодель упорядочивает куски под этот вопрос
  4. Лучшие кускиОставляем несколько, например три
  5. ОтветНейросеть отвечает по самому нужному
Числа — из учебного примера Pinecone. Подбирайте свои на реальных вопросах.

Цена такого шага — небольшая задержка: нужен баланс между точностью и скоростью.

Контекстный поиск: вернуть куску его адрес

При нарезке кусок теряет связь с документом. Возьмём пример из публикации компании (Anthropic). Кусок гласит: «выручка компании выросла на 3 % по сравнению с прошлым кварталом». Но какой компании и какого периода? Из куска это не видно, найти его по вопросу о росте выручки условной компании «Альфа» во втором квартале трудно, да и пользоваться им неудобно.

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

Эксперименты Anthropic: меньше неудачных поисков

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

  • 35 %Контекстные эмбеддингиСнижение доли случаев, когда нужного куска нет среди двадцати найденных (с 5,7 до 3,7 %).
  • 49 %Плюс контекстный поиск по словамСнижение (с 5,7 до 2,9 %).
  • 67 %Плюс переранжированиеСнижение (с 5,7 до 1,9 %).

В экспериментах авторов публикации контекстные эмбеддинги снизили долю неудачных поисков на 35 % (с 5,7 до 3,7 %), добавление контекстного поиска по словам довело снижение до 49 %, а с переранжированием — до 67 % (с 5,7 до 1,9 %). Автор подчёркивает: все выгоды складываются. Кроме того, эмбеддинги вместе со словесным поиском работают лучше одних эмбеддингов, а передавать модели двадцать кусков эффективнее, чем десять или пять. Но и тут есть предел: больше кусков может отвлекать модель. Главный совет автора — всегда проводить оценки на своих данных.

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

RAG — не единственный способ научить нейросеть работать с вашими данными. Производитель (Databricks) называет четыре способа: подсказки (инструкции в запросе), RAG, дообучение и предобучение с нуля. Их не нужно противопоставлять: они не исключают друг друга и могут сочетаться, чтобы использовать сильные стороны каждого.

Способы работать с вашими данными

Что делает

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

Плюсы

RAG
Свежие данные без переобучения, ссылки на источники, меньше выдумок
Дообучение
Высокая точность в узкой теме, нужный стиль ответов
Длинный контекст
Модель видит всю картину, настраивается просто
Обычный поиск
Быстро и недорого
Подсказки (промпты)
Быстро и недорого, обучение не нужно

Минусы

RAG
Нужна подготовка данных; качество зависит от поиска; больше запрос и вычисления
Дообучение
Долго, дорого, мощные компьютеры; новые данные требуют повторного обучения
Длинный контекст
Сильно дороже; при большом объёме не гарантируется точность
Обычный поиск
Читать и делать выводы приходится человеку; можно пропустить детали
Подсказки (промпты)
Не использует свежие данные; качество зависит от формулировки

Способы не исключают друг друга: в сложных проектах их часто сочетают. Сравнение собрано по материалам Яндекс Облака, Databricks, Red Hat и Anthropic.

Главное отличие от дообучения

Красивая формулировка Red Hat: RAG определяет, что модель должна знать, а дообучение определяет, как она должна себя вести. Дообучение закрепляет новое в параметрах модели навсегда, и его трудно обновлять, а RAG обращается к внешним данным, которые можно менять каждый день. Дообучение не даёт новых фактов о мире: оно учит формату, стилю и специфике ответов. Оно уместно, когда нужно изменить поведение модели, например строго держать терминологию. Снижать галлюцинации дообучением гораздо дольше и труднее, чем RAG.

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

Может, достаточно положить всё в запрос

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

Когда RAG не подходит

Когда RAG может не подойти

  • Очень большие и сложные данныеКогда нужно видеть сложные связи, длинный контекст может справиться лучше.
  • Мало надёжных источниковЕсли по теме мало надёжных данных, система не даст точных ответов.
  • Творческие задачиРамки найденных источников могут излишне ограничивать модель.
  • Данные, меняющиеся каждую секундуНапример, биржевые котировки: нужны другие системы или агенты, запрашивающие данные напрямую.
  • Обзор и резюме темыМодели нужно прочитать весь контекст, а не только ближайшие куски.
  • Действия, а не ответыRAG пока сильнее отвечает на вопросы, чем выполняет работу в мире.

Технологии RAG: на чём собирают систему

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

Облачные платформы с готовой базой знаний. Сервис (Amazon Bedrock Knowledge Bases) позволяет встроить собственную информацию в приложения ИИ: база знаний ищет в ваших данных нужное, а найденное улучшает ответ. Есть два вида: управляемая база, которую ведёт сам сервис, и база, которую вы настраиваете сами. Управляемая подключается к облачным хранилищам и сервисам документов вроде Google Диска и применяет права доступа на уровне документов при поиске. У Google есть сервис (RAG Engine), в котором шесть шагов: приём данных, преобразование, эмбеддинги, индексирование, поиск и генерация, а данные берут из локальных файлов, облачного хранилища и Диска. У Microsoft похожие возможности входят в сервис (Azure AI Search).

Для российских проектов. Яндекс Облако создаёт текстовые, векторные и гибридные индексы и подключает их к ассистенту. Сбер в конструкторе чат-ботов (SaluteBot) даёт блок ответа нейросети из базы знаний, который выдаёт ответ на основе загруженных документов; при личных ключах доступа для него обязательно подключать модель векторного представления текста, иначе база знаний работать не будет. А у Cloud.ru есть сервис (Managed RAG) для запуска RAG-систем на ваших данных, с руководствами по созданию базы знаний из файлов Markdown и подключению сервера по протоколу MCP (стандарту подключения внешних данных к ИИ). Доступность иностранных сервисов в России мы в этом материале не проверяли, поэтому для российского бизнеса сначала смотрите российские платформы.

Хранилища для эмбеддингов. Векторные базы и поисковые системы с поддержкой векторов описаны в разделе про эмбеддинги.

Свой интерфейс поиска. Компания (OpenAI) предлагает интерфейс для смыслового поиска по вашим данным: файлы добавляют в хранилище векторов, и оно само режет, превращает в эмбеддинги и индексирует их. Поддерживаются PDF, текстовые документы и презентации.

Готовые сервисы для RAG по их документации

Что даёт

Amazon Bedrock Knowledge Bases
Подключает модель к вашим данным, ищет и добавляет найденное в ответ
RAG Engine (Google)
Платформа, которая облегчает RAG на ваших данных
Azure AI Search (Microsoft)
Поиск и индексы под RAG
Яндекс Облако
Индексы: текстовый, векторный, гибридный; ассистент
SaluteBot (Сбер)
Блок ответа нейросети из базы знаний в сценарии чат-бота
Cloud.ru Managed RAG
Среда для RAG-систем на ваших данных
OpenAI: поиск по файлам
Хранилище векторов само режет, считает эмбеддинги и индексирует файлы

Что отмечает документация

Amazon Bedrock Knowledge Bases
Две модели базы; права доступа на уровне документов при поиске; ссылки на источники
RAG Engine (Google)
Шесть шагов: приём, преобразование, эмбеддинги, индекс, поиск, генерация
Azure AI Search (Microsoft)
Классический RAG и агентный поиск, разграничение доступа к содержимому
Яндекс Облако
В ответе есть ссылки на фрагменты документов (citations)
SaluteBot (Сбер)
Нужна модель эмбеддингов; есть переходы «ответ найден» и «ответ не найден»
Cloud.ru Managed RAG
Руководства по созданию базы из файлов и по подключению MCP-сервера
OpenAI: поиск по файлам
Поддерживаются PDF, текстовые документы, презентации, веб-страницы, Markdown и обычный текст

Сравнение пересказывает документацию самих сервисов, это не рейтинг и не независимая оценка.

Какую технологию взять

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

Для каких задач подходит RAG: примеры применения

RAG нужен там, где ответ должен опираться на ваши документы и быть проверяемым. Производители называют одни и те же сценарии, и хорошо видно, что начинают почти всегда с чат-бота. Корпорация (Oracle) замечает: для многих организаций чат-бот — отправная точка RAG. Обычные боты обучены конечному числу намерений, а с RAG они отвечают и на вопросы вне списка.

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

  • Справочник для сотрудников
    Правила, отпуска, регламенты: вопрос в чате и ответ с источником.
  • Поддержка клиентов
    Бот и подсказки операторам по базе знаний поддержки.
  • Консультант магазина
    Ответы о товарах, возврате, гарантии и доставке по свежим данным.
  • Отчёты с проверкой
    Каждый факт со ссылкой на источник.
  • Работа с документами
    Анализ финансовых отчётов, расшифровки звонков, научные статьи.
  • Кадры (HR)
    Резюме в разных форматах и на разных языках: вопрос «кто знает испанский и умеет программировать» с ответом и ссылками.

Справочник для сотрудников

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

Поддержка и интернет-магазин

Бот поддержки должен давать ответы именно по данным компании. Подсказки для операторов контакт-центра берут решение из базы знаний, оператор получает краткое описание и готовый вариант ответа. Консультант магазина с постоянно обновляемой товарной базой отвечает о характеристиках, возврате и доставке круглосуточно. Для вопроса о новом продукте это важно: ответ по данным прошлой модели бесполезен и даже вводит в заблуждение. Вот услуги, которые с этим помогают: автоматизация поддержки и чат-бот с ИИ.

Отчёты и работа с документами

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

Отраслевые примеры

Отрасли по описаниям производителей

  • ПроизводствоРуководства по оборудованию и журналы обслуживания дают подсказки техникам.
  • Служба поддержкиБыстрее находят нужное и отвечают клиентам.
  • ЗдравоохранениеМедицинские информационные системы: история, расписание, свежие исследования.
  • ФинансыНормативные документы, отчёты рынка и требования проверок.
  • РазработкаДокументация и фрагменты кода помогают инженерам.

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

Какие данные нужны для RAG и как их подготовить

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

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

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

Что сделать после загрузки. Базу знаний регулярно актуализируют, удаляют лишнее и отслеживают версии документов. Если документы часто меняются, загрузку делают по расписанию. Индекс без плановой загрузки быстро стареет, и вы начнёте получать устаревшие ответы.

Готовность данных к RAG: отметьте, что сделано

Прогресс виден над списком.

Список составлен по рекомендациям производителей, это не стандарт и не юридическая консультация.

Как быть с персональными данными

Если в документах есть персональные данные, их обработку согласуйте с юристом заранее. Платформа (Databricks) отдельно называет этап подготовки, где такие сведения находят, фильтруют, удаляют или заменяют. А доступ к документам с чувствительными сведениями разграничивают на этапе поиска: об этом подробно в разделе про безопасность. Помочь с подготовкой данных могут очистка и сопоставление данных и извлечение данных из документов, а ещё документооборот для сбора файлов.

Безопасность и приватность RAG: что защищать

Система открывает модели доступ к данным компании, и защита здесь нужна особая. Это подтверждают все производители, и мы собрали основные пункты.

Шесть мер защиты RAG

  • Права доступа при поиске
    Система ищет только в документах, которые вправе видеть человек.
  • Данные отдельно от модели
    Чувствительное остаётся у вас, доступ можно отозвать.
  • Шифрование хранилища
    Защита векторной базы от восстановления данных.
  • Журнал запросов
    Для мониторинга, безопасности и аудита.
  • Проверка найденного
    Найденный текст считают недоверенным вводом.
  • Проверка ответов
    Цитируются ли ожидаемые документы и совпадают ли утверждения с найденным.

Данные у вас, а не у модели

Одно из достоинств RAG в том, что данные хранятся отдельно от модели. Дообучение на конфиденциальной информации исторически рискованно: модели могут раскрыть данные обучения. RAG позволяет оставить чувствительное у себя, и доступ модели к нему можно отозвать в любой момент. В закрытой корпоративной среде поиск может оставаться локальным.

Доступ проверяют в момент поиска

Если не управлять доступом к источникам, ответы могут раскрыть то, что человеку видеть не следует. Пример Microsoft: финансовые данные должны быть доступны только финансовой команде, даже если вопрос задаёт директор. Поэтому права доступа применяют на этапе поиска: система ищет только среди документов, на которые у спрашивающего есть право. Так делают и крупные облачные сервисы, а чат-бот, который показывает данные по ролям, описывает и Databricks: финансовая команда видит одно, операционная другое.

Векторную базу защищают как любую базу

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

Опасность скрытых команд в документах

Документ из базы может содержать текст, похожий на инструкцию, и модель способна выполнить его, а не вашу настройку. Это называют косвенным внедрением команд (в источниках это «внедрение подсказки»). Microsoft советует считать найденное содержимое недоверенным вводом, то есть данными, которым нельзя слепо подчиняться. Но, как предупреждает LangChain, ни один приём не защищает от этого полностью, поэтому ответы нужно проверять.

Как проверить, что RAG отвечает верно: оценка качества

Фраза «нельзя улучшить то, что не измеряешь» из материалов сервиса (Hugging Face) подходит RAG лучше всего. Система собирается из нескольких частей, и ошибиться можно в каждой, поэтому проверка встроена в процесс. В схеме LlamaIndex оценка названа отдельной пятой стадией, а Microsoft требует структурированного процесса: оценивать каждый шаг отдельно, помня, что клиент видит итог.

Что измерять

Что проверяют в RAG

  • Релевантность найденного
    Те ли куски нашла система по вопросу.
  • Обоснованность ответа
    Опирается ли ответ на найденные куски, а не на выдумку.
  • Полнота
    Хватило ли найденного, чтобы ответить целиком.
  • Использование контекста
    Насколько ответ использовал найденное.
  • Скорость
    За сколько секунд пришёл ответ.
  • Мнение людей
    Оценка экспертов и пользователей, которую не заменят метрики.

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

Эталонный набор вопросов

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

Цикл проверки RAG

  1. Набор вопросов

    Типичные вопросы пользователей и ожидаемые ответы.

  2. Базовый замер

    Прогоните систему и запишите результат.

  3. Одно изменение

    Нарезка, модель, поиск или подсказка.

  4. Повторный замер

    Стало лучше или нет.

  5. Взгляд людей

    Эксперты читают куски и ответы.

  6. Мониторинг

    Проверка не заканчивается запуском.

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

Ссылки на источники как часть проверки

Если к ответу прикладывают ссылки на документы, пользователь и проверяющий видят, откуда взято утверждение. Это упрощает проверку и повышает доверие. А ещё полезно собирать оценки точности от самих пользователей: они подсказывают, где система ошибается.

Ограничения и типичные ошибки RAG

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

Двенадцать ошибок и что с ними делать

  • Ожидание идеала
    RAG не гарантирует точность; важные данные проверяют.
  • Плохие документы
    Устаревшее и дубли дают неточные ответы: чистите источники.
  • База не обновляется
    Назначьте ответственного и расписание загрузки.
  • Неудачная нарезка
    Слишком крупные и мелкие куски портят поиск: пробуйте размеры.
  • Слишком много контекста
    Забитое окно ухудшает ответ: оставляйте самое нужное.
  • Только смысловой поиск
    Добавьте поиск по точным словам и переранжирование.
  • Ответы без ссылок
    Прикладывайте источники, чтобы можно было проверить.
  • Нет права сказать «не знаю»
    Разрешите модели признавать, что ответа в найденном нет.
  • Нет проверки
    Составьте набор вопросов и измеряйте после каждого изменения.
  • Доступ без разграничения
    Применяйте права доступа на этапе поиска.
  • Доверие найденному
    Считайте найденные куски недоверенным вводом.
  • RAG вместо всего
    Для творческих задач и данных реального времени нужны другие решения.

Пять трудностей, которые называют чаще всего

Платформа (Databricks) перечисляет пять трудностей RAG в масштабе. Первая — качество поиска: если найдены нерелевантные документы, даже сильная модель отвечает плохо. Вторая — окно контекста: слишком много содержимого даёт обрезанные источники или размытые ответы. Третья — свежесть данных: индекс быстро стареет без регулярной загрузки. Четвёртая — задержка при больших данных. Пятая — оценка: нужны человек, оценки релевантности и проверки обоснованности. Ещё одна ловушка — завышенное ожидание: RAG пока лучше отвечает на вопросы, чем выполняет действия в реальном мире.

Агентный RAG и что будет дальше

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

Что это даёт, видно на примере Microsoft. Агентный поиск разбивает сложный вопрос на несколько подзапросов и выполняет их параллельно, а ещё учитывает историю беседы, поэтому уточняющие вопросы не теряют смысла. Pinecone добавляет: агент может уточнять запросы, пользоваться разными инструментами поиска и проверять найденное, а затем принимать или отбрасывать его.

Развитие видят и в других направлениях. Databricks пишет, что RAG из обходного приёма превращается в основу корпоративного ИИ и всё чаще сочетается с инструментами и агентами. MongoDB отмечает, что RAG пока лучше отвечает на вопросы, чем выполняет задачи, а память делает его интерактивнее: система помнит детали прошлых бесед. Яндекс Облако называет ещё одно направление: мультимодальный RAG, умеющий работать и с картинками, звуком, видео и таблицами, а не только с текстом.

Если вам нужен не только помощник, но и исполнитель, смотрите ИИ-агентов и ИИ-ассистента.

Как внедрить RAG в компании: этапы и с чего начать

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

Внедрение RAG: пять шагов

  1. Задача и вопросы

    Определите бизнес-задачу, соберите документы и реальные вопросы.

  2. Данные

    Очистите, приведите к тексту, добавьте метаданные, назначьте владельца.

  3. Индекс

    Выберите нарезку и модель эмбеддингов, загрузите куски в базу.

  4. Приложение

    Подключите поиск и модель, настройте запрос и ссылки на источники.

  5. Проверка

    Прогоните набор вопросов, улучшайте итерациями, подключите людей.

Шаги собраны из руководств Microsoft и Databricks.

Подробнее о каждом шаге. Сначала чётко определяют бизнес-задачу и собирают репрезентативные документы и реальные вопросы пользователей. Дальше готовят данные, выбирают нарезку и модель эмбеддингов, настраивают поиск и подключают модель. Затем проверяют и улучшают итерациями. Databricks напоминает, что RAG — хорошее место для старта и иногда полностью достаточен, а к дообучению можно вернуться позже.

Вокруг самой системы стоит продумать пользу для людей. Относитесь к ответам ИИ как к помощнику для черновиков, а не как к авторитету, и заранее определите, какие ответы проверяет человек. Если вы хотите, чтобы мы помогли с шагами внедрения, начните с внедрения ИИ и аудита процессов: они показывают, где RAG окупится. Для связи с вашими системами пригодятся интеграции по API. А для работы на своей инфраструктуре — развёртывание языковой модели. Если же нужна смысловая выдача на сайте и в магазине, есть ИИ-поиск и рекомендации.

Что делать завтра: план на неделю

Не нужно сразу покупать платформу. За неделю можно понять, нужен ли вам RAG и с чего начинать.

Неделя до решения

  1. День первый

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

  2. День второй

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

  3. День третий

    Выпишите набор реальных вопросов и проверенные ответы на них.

  4. День четвёртый

    Уберите дубли и устаревшее, определите, кто отвечает за актуальность.

  5. День пятый

    Решите, кто что вправе видеть: права доступа определяют заранее.

  6. День шестой

    Проверьте объём: помещаются ли документы в запрос целиком.

  7. День седьмой

    Решите: пилот RAG, вставка в запрос или обычный поиск.

Это наш рабочий план, собранный из рекомендаций производителей; порядок можно менять.

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

Соберём ИИ-помощника по вашим документам

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

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

Что такое RAG простыми словами?
Это способ заставить нейросеть отвечать по вашим документам. Сначала система находит в базе знаний нужные фрагменты, затем добавляет их к вопросу, и нейросеть отвечает уже по найденному. Так она знает вашу компанию и может сослаться на источник.
Как расшифровывается RAG?
Это сокращение английского названия Retrieval-Augmented Generation, по-русски нередко «генерация, дополненная выборкой». Retrieval — поиск и извлечение, Augmented — дополненная, Generation — генерация ответа. Система извлекает данные, дополняет ими запрос и генерирует ответ.
Что значит и что означает RAG в ИИ и ИТ?
Это не отдельная нейросеть, а архитектура: способ подключить языковую модель к внешним данным. Поэтому говорят о модели, которая работает по схеме RAG. Саму модель, пишущую ответ, называют генератором.
Зачем нужен RAG?
Он решает слабые места обычной нейросети: устаревшие знания, незнание ваших данных, отсутствие источников и выдумки. С RAG ответы опираются на свежие документы компании, дешевле обновляются и снабжаются ссылками.
Для чего нужен RAG бизнесу?
Для справочников сотрудников, поддержки клиентов, консультантов интернет-магазина, подготовки отчётов с проверкой фактов и поиска по документам. Чаще всего начинают с чат-бота.
Как работает RAG?
Сначала документы очищают, режут на куски, превращают в числа-эмбеддинги и сохраняют в векторной базе. Когда приходит вопрос, его тоже превращают в числа, находят близкие куски, собирают запрос из вопроса и найденного и просят нейросеть ответить. К ответу прикладывают ссылки.
В чём принцип работы RAG?
Принцип в том, чтобы разделить знание и язык. Знание лежит в вашей базе и обновляется там, а языковая модель только формулирует ответ по найденному. Поэтому для свежих данных модель переучивать не нужно.
Что такое эмбеддинг?
Это числовое представление смысла текста. Модель превращает слово, фразу или абзац в длинный список чисел. Тексты близкого смысла получают близкие числа, и по ним находят похожие фрагменты.
Что такое векторная база данных?
Хранилище, которое хранит эмбеддинги вместе с метаданными и быстро находит самые похожие. Обычные таблицы для такого поиска не рассчитаны. Эмбеддинги считают заранее, и результат приходит за миллисекунды.
Что такое чанки и зачем нарезать документы?
Чанки — небольшие фрагменты, на которые режут документы. Нарезка нужна, чтобы данные помещались в окно модели эмбеддингов и чтобы куски были удобны для поиска. Слишком крупные куски размывают смысл, слишком мелкие теряют контекст.
Какого размера должны быть куски?
Единого размера нет. В источниках встречаются диапазоны от примерно 128 до примерно 1000 токенов, а стартовые настройки у разных производителей разные. Размер подбирают на своих данных и реальных вопросах.
Чем RAG отличается от дообучения?
RAG определяет, что модель должна знать, а дообучение — как она должна себя вести. RAG обращается к внешним данным, которые можно менять каждый день, а дообучение закрепляет новое в самой модели и обновляется трудно. Их можно сочетать.
Нужен ли RAG, если документов немного?
Не всегда. По материалам Anthropic, если база знаний меньше двухсот тысяч токенов, это примерно пятьсот страниц, её можно целиком вставить в запрос. RAG нужен, когда материалов больше, они меняются или нужны ссылки и разграничение доступа.
RAG убирает галлюцинации?
Нет. Он сильно снижает риск, но не отменяет его: модель может исказить смысл даже при верных источниках. Поэтому к ответам добавляют ссылки, разрешают модели говорить «не знаю» и проверяют результат.
Что такое гибридный поиск?
Сочетание смыслового поиска и поиска по точным словам, результаты которых объединяют. Смысловой находит родственное по значению, а точный не даёт пропустить номера, коды и названия.
Что такое переранжирование?
Дополнительный шаг: быстрый поиск отбирает много кусков, а отдельная модель упорядочивает их под конкретный вопрос, и модели отдают только лучшие. Точность растёт, но добавляется небольшая задержка.
Какие технологии используют для RAG?
Библиотеки для сборки (LangChain, LlamaIndex), векторные базы и поисковые системы, облачные сервисы с готовой базой знаний. Для российских проектов есть решения Яндекс Облака, Сбера и Cloud.ru. Доступность иностранных сервисов в России мы не проверяли.
Какие данные нужны для RAG?
Чаще всего неструктурированный текст: PDF, письма, инструкции, страницы сайта, базы и расшифровки. Данные нужно очистить, привести к тексту, добавить метаданные и поддерживать актуальными. Качество результата не лучше качества документов.
Безопасен ли RAG для закрытых данных?
Он безопаснее, чем дообучение на таких данных, потому что данные хранятся отдельно от модели, а доступ можно отозвать. Но нужны права доступа при поиске, шифрование векторной базы и защита от скрытых команд в документах.
Как проверить качество RAG?
Составьте набор типичных вопросов с проверенными ответами, прогоняйте на нём систему после каждого изменения, измеряйте релевантность найденного и обоснованность ответа, а результаты читают люди. Проверка не заканчивается запуском.
Что такое агентный RAG?
Вариант, где ИИ-агент использует поиск как инструмент: сам решает, какие вопросы задать, в каких источниках искать и сколько шагов сделать. Он удобен для сложных вопросов, требующих нескольких поисков.
Когда RAG не подходит?
Для очень больших и сложных данных, где нужно видеть сложные связи, при нехватке надёжных источников, для творческих задач и для данных, которые меняются каждую секунду. Для обзора темы поиск ближайших соседей тоже не лучший выбор.
Сколько стоит внедрить RAG?
В прочитанных источниках цифр стоимости нет: она зависит от объёма документов, качества данных, сценария и платформы. База знаний и RAG у нас — по запросу, а точную цену даёт разговор о ваших документах и пилот.
С чего начать внедрение RAG?
С одного сценария, например справочника сотрудников. Соберите документы и реальные вопросы, очистите данные, настройте нарезку и поиск, проверьте на наборе вопросов и только потом расширяйте.

Соберём ИИ-помощника по вашим документам

Расскажите про документы и вопросы, на которые нужны ответы, — предложим сценарий пилота.

Что будет после заявки

  1. Опишите, какие документы у вас есть и какие вопросы задают сотрудники или клиенты.
  2. Проверим объём и скажем честно: хватит ли вставки в запрос или нужен RAG.
  3. Соберём пилот на одном сценарии и проверим качество ответов.

Если пользы не будет, так и скажем, без лишних вложений.

Расскажите о задаче

Имени и телефона достаточно. Подробности можно добавить сразу или обсудить при звонке.

Добавить подробности