Создание RAG с n8n: знания компании в виде чат-бота, шаг за шагом
Как создать RAG-чат-бота с помощью n8n: Vector Store, эмбеддинги и подключение инструментов объяснены шаг за шагом.
Retrieval-Augmented Generation (RAG) соединяет языковую модель с собственными документами компании, чтобы чат-бот давал ответы на основе реальных внутренних знаний, а не только на основе общих знаний модели, полученных при обучении. В n8n RAG-система на практике строится как два отдельных workflow: первый workflow загружает документы, разбивает их на текстовые фрагменты, преобразует их с помощью модели эмбеддингов в векторы и сохраняет их в узле Vector Store. Второй workflow подключает этот Vector Store через узел AI Agent в качестве доступного для поиска инструмента, так что чат-бот при каждом запросе сам находит подходящие фрагменты текста и включает их в свой ответ. По состоянию на: июль 2026 года.
Какие компоненты нужны для RAG-workflow в n8n?
Согласно документации n8n, RAG-workflow в n8n состоит из четырех взаимодействующих компонентов: Document Loader, Text Splitter, Embeddings и Vector Store с Retriever. Document Loader получает внешние исходные данные, например из файла, вебхука или запроса к базе данных. Text Splitter разбивает длинные документы на более мелкие фрагменты, называемые чанками, чтобы модель эмбеддингов могла осмысленно их обработать. Embeddings преобразуют текст в векторы, то есть в числовые представления смысла, при этом, согласно документации, n8n поддерживает только текстовые эмбеддинги. Наконец, Retriever при запросе извлекает из базы данных подходящие векторы и снова переводит их в пригодный для использования текст. Подробности об этих компонентах описаны в официальной документации по адресу Store and search data with vectors.
Как построить первый workflow для загрузки документов в Vector Store?
Для загрузки данных добавьте узел Vector Store с операцией "Insert Documents", подключите модель эмбеддингов и добавьте узел Default Data Loader для разбиения на чанки.
- Размер чанка: Документация n8n рекомендует фрагменты от 200 до 500 токенов для точного поиска, дополненные определенным перекрытием между чанками, чтобы контекст не терялся на границах.
- Выбор splitter: На выбор доступны Character Text Splitter, который разбивает по длине символов, Token Text Splitter, который разбивает по количеству токенов, и Recursive Character Text Splitter, который n8n рекомендует для большинства случаев использования, поскольку он ориентируется на структуры Markdown, HTML или кода.
- Метаданные: При желании чанки можно дополнить дополнительной информацией, например источником, типом документа или датой, что облегчает последующую фильтрацию.
- Clear Store: Опция в режиме вставки для очистки существующего хранилища перед повторным заполнением.
Для быстрого тестирования подходит узел Simple Vector Store (In-Memory), который хранит векторы прямо в оперативной памяти n8n. Согласно официальной документации узла этот узел прямо предназначен только для разработки.
Как сделать Vector Store доступным для поиска ИИ-чат-ботом?
Для извлечения данных подключите тот же узел Vector Store в режиме "Retrieve Documents (As Tool for AI Agent)" к узлу AI Agent, который затем самостоятельно запускает поиск, когда он нужен ему для ответа. В этом режиме настраиваются Name и Description инструмента, чтобы агент понимал, когда к нему обращаться, а также лимит на количество возвращаемых чанков и, при желании, "Include Metadata" для указания источников. Согласно документации, важно использовать при запросе ту же модель эмбеддингов, что и при вставке данных, иначе векторные пространства не совпадут и поиск даст плохие результаты. В качестве альтернативы есть прямой запрос через операцию "Get Many", при котором вы сами задаете фиксированный поисковый запрос, вместо того чтобы оставлять это агенту. Точный порядок действий описан в Retrieve relevant context описан. Те, кто не хочет поддерживать эту настройку самостоятельно, найдут в услуге ИИ-агенты от NordFlux реализацию с фиксированной ценой и немецким суверенитетом данных.
Каковы границы возможностей RAG с n8n?
RAG не является чудодейственным средством: качество ответов напрямую зависит от структуры исходных документов, а встроенный в n8n Simple Vector Store, согласно документации, прямо предназначен только для разработки, поскольку данные теряются при перезапуске и, согласно документации, видны в пределах всего инстанса всем пользователям, независимо от прав отдельного workflow. Поэтому для продуктивной эксплуатации вам нужен постоянный внешний Vector Store, для которого n8n предоставляет собственные узлы, например для PGVector или Azure AI Search. Плохо структурированные исходные документы, например отсканированные PDF без реального текстового слоя или большие, неупорядоченные таблицы, приводят к неудачно нарезанным чанкам и тем самым к неточным или неполным ответам чат-бота. Чистые, хорошо структурированные исходные данные часто важнее для качества результата, чем выбор более крупной модели эмбеддингов.
Часто задаваемые вопросы о RAG с n8n
В чем разница между Vector Store в качестве инструмента и прямым запросом через Get Many?
При использовании "Get Many" вы задаете Vector Store фиксированный, жестко заданный поисковый запрос, тогда как режим "Retrieve Documents (As Tool for AI Agent)" оставляет это решение агенту. Агент сам проверяет, на основе Name и Description инструмента, имеет ли вообще смысл поиск в Vector Store для текущего вопроса пользователя и когда именно. Это делает настройку более гибкой для чат-бота, который должен отвечать и на общие вопросы, не связанные с документами.
Какую модель эмбеддингов выбрать для корпоративного чат-бота знаний?
Согласно документации n8n, меньшие модели эмбеддингов быстрее и дешевле и подходят для общих документов, тогда как более крупные модели обеспечивают лучшее семантическое понимание сложных специализированных тем. В любом случае решающее значение имеет использование одной и той же модели при вставке данных и при последующих запросах, поскольку разные модели создают разные векторные пространства.
Можно ли использовать Simple Vector Store от n8n в продуктивной эксплуатации?
Нет, согласно документации n8n, узел Simple Vector Store (In-Memory) прямо предназначен только для разработки, поскольку данные теряются при перезапуске инстанса и, согласно документации, видны в пределах всего инстанса всем пользователям. Для корпоративного чат-бота знаний, используемого в продуктивной эксплуатации, вам нужен постоянный, размещенный на внешнем сервере Vector Store.
Какого размера должны быть текстовые фрагменты для поиска?
Для точного поиска документация n8n рекомендует размер чанков от 200 до 500 токенов в сочетании с определенным перекрытием между соседними фрагментами, чтобы на границах чанков не терялся контекст. В качестве стратегии splitter n8n предлагает для большинства случаев использования Recursive Character Text Splitter, поскольку он ориентируется на естественную структуру документа, а не разбивает произвольно по количеству символов.
NordFlux UG (haftungsbeschränkt)
NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.
Конкретные вопросы по автоматизации или КИ?
В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.