RAG: что это в ИИ и как сделать агента, который отвечает по вашим документам

Как создать ИИ-агента

RAG (Retrieval-Augmented Generation, генерация с дополненной выборкой) - способ научить нейросеть отвечать по вашим документам. Перед ответом система находит в базе знаний подходящие фрагменты и передаёт их модели вместе с вопросом. Модель отвечает не "по памяти", а по найденному тексту, поэтому реже выдумывает и может сослаться на источник. Так работают чат-боты поддержки, помощники по внутренним регламентам и агенты, которые знают ассортимент магазина.

Зачем нужен RAG

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

Как работает RAG: схема

ДокументыPDF, сайт, таблицыФрагментыпо 500-1000 знаковВекторная базаэмбеддингиВопросПохожие3-8 фрагментовМодельответ + источник
Верхняя линия выполняется один раз при загрузке документов, нижняя - при каждом вопросе
  1. Нарезка. Документы делятся на фрагменты (чанки) по 500-1000 знаков с небольшим перекрытием, чтобы мысль не обрывалась на границе.
  2. Векторизация. Модель эмбеддингов превращает каждый фрагмент в набор чисел (вектор), отражающий смысл текста.
  3. Хранение. Векторы складываются в векторную базу данных.
  4. Поиск. Вопрос пользователя тоже превращается в вектор, и база находит фрагменты, близкие по смыслу, даже если слова разные ("вернуть товар" найдёт раздел "Возврат и обмен").
  5. Ответ. Найденные фрагменты добавляются в промт, и модель отвечает на их основе.

RAG и ИИ-агент

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

Из чего собрать RAG-систему

КомпонентВарианты
Модель эмбеддинговbge-m3 и multilingual-e5 (открытые, хорошо понимают русский, работают локально), эмбеддинги Yandex AI Studio и GigaChat, модели OpenAI
Векторная базаQdrant, PostgreSQL с расширением pgvector, Chroma, Pinecone; для проб - хранилище в памяти
Модель для ответалюбая: от облачных до локальных через Ollama
Оболочкаn8n без кода, File Search в Yandex AI Studio, библиотеки LangChain и LlamaIndex для программистов

Как собрать RAG в n8n без кода

  1. Сценарий загрузки. Триггер (ручной запуск или новая папка в облаке) - узел чтения файлов - узел векторного хранилища в режиме добавления документов. К хранилищу подключите модель эмбеддингов и разделитель текста (Text Splitter) с размером фрагмента около 800 знаков.
  2. Сценарий ответов. Триггер чата или Telegram - узел AI Agent - к нему как инструмент подключите то же векторное хранилище в режиме поиска, плюс языковую модель и память.
  3. Системный промт агента:
Ты консультант компании [название]. Отвечай только на основе фрагментов, найденных инструментом поиска по базе знаний. Если ответа в найденных фрагментах нет, честно скажи об этом и предложи связаться с менеджером. В конце ответа укажи название документа-источника.

Подробно про сборку агента в n8n - в инструкции ИИ-агент в n8n, а для постоянной работы разверните n8n на своём сервере.

Как повысить точность ответов

  • Чистые документы. Уберите дубли и устаревшие версии: агент не знает, какой из двух прайсов актуальный.
  • Размер фрагмента. Слишком маленькие куски теряют контекст, слишком большие размывают поиск. Начните с 500-1000 знаков и перекрытия 100-200.
  • Метаданные. Сохраняйте у фрагментов название документа, раздел и дату: по ним можно фильтровать и ссылаться.
  • Гибридный поиск. Сочетание векторного поиска с поиском по словам лучше находит артикулы, номера и редкие термины.
  • Тестовый набор. Составьте 30-50 реальных вопросов с правильными ответами и проверяйте систему на них после каждого изменения.

Частые ошибки

ПроблемаПричина и решение
Агент выдумываетнет запрета отвечать без источника в промте, или поиск ничего не нашёл; добавьте правило "не знаю - так и скажи"
Находит не те кускимодель эмбеддингов плохо понимает русский; возьмите многоязычную, например bge-m3
Таблицы читаются плохопри нарезке таблицы разрываются; храните таблицы отдельно или переводите строки в текст "товар - цена - наличие"
Ответы устареваютбаза не обновляется; настройте сценарий переиндексации по расписанию

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

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

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

Можно ли сделать RAG полностью локально?

Да: модель эмбеддингов bge-m3 и языковая модель в Ollama, база Qdrant в Docker, оболочка n8n. Данные не покидают ваш сервер.

Сколько документов можно загрузить?

Векторные базы спокойно работают с миллионами фрагментов. Ограничение обычно в качестве документов и стоимости эмбеддингов, а не в объёме.

Редакция ii-agenty.pro
Оцените автора