Всем привет!
В этой статье будет рассматриваться n8n — open source платформа для автоматизации рабочих процессов, которая поддерживает более 400 интеграций, в том числе LMM, векторные базы данных и все, что нужно, чтобы создать ИИ-агентов и RAG-приложений.
Итак, сегодня мы развернем n8n c RAG-агентом на нашем облаке Amvera (почему подходит именно Amvera — расскажем ниже) и покажем, как им пользоваться на простых примерах, среди которых будет чат-бот для работы с БД PostgreSQL.
Что нам понадобится?
А понадобится лишь:
-
Минимум свободного времени (весь процесс займет около 30 минут, если не меньше)
-
Токен OpenAI (можно использовать и другие LLM)
-
Токен от SerpApi
Как работать с n8n
Для начала интерфейс n8n может быть «пугающим» для новичков, но на деле можно очень быстро привыкнуть. Кратко говоря, рабочая среда интерфейса n8n представляет собой «рабочий стол», где вы можете создавать логику с помощью узлов, в которых каждый узел отвечает за конкретное действие.
Соединяя узлы вместе, вы создаете логику работы вашего приложения.
Всего существует 2 функциональных узла: узел триггера и узел действия. Первый отвечает за запуск приложения из-за какого-то внешнего «раздражение», пусть то сообщение в чате, обращение к API или любое другое отслеживаемое событие. Второй за то, что будет
делать приложение, то есть его логику.
Можно дополнительно упростить процесс использования, используя более тысячи шаблонов от сообщества, скачав которые вы можете буквально за 10 минут создать собственное работающее IT-приложение.
У n8n есть документация на английском языке, где все отлично объяснено.
Для начала развернем сам n8n на Amvera! Это займет совсем немного благодаря вышеописанным принципам.
Установка n8n
Установку n8n мы произведем на удаленный сервер в Amvera Cloud (это же наш блог).
Amvera — сервис для быстрого развертывания различных IT-приложений, позволяющий пользователям отводить минимум времени на деплой, и главное, имеющий бесплатное встроенное проксирование до OpenAI, Gemini, Grok, Claude и других провайдеров. То есть вам не понадобится самостоятельно добавлять прокси. Помимо этого, Amvera позволяет развернуть n8n как преднастроенный сервис, заполнив несколько полей в конфигурации.
К плюсам также относится:
-
Развертывание и обновление проектов через git push (или перетягиванием файлов в интерфейсе), что проще настройки VPS;
-
Поминутная тарификация со списыванием раз в час — деньги будут списываться только за работающий инстанс (экземпляр) приложения;
-
Бесплатный пробный баланс 111 рублей при регистрации!
-
Бесплатное внешнее HTTP/HTTPS доменное имя
-
и многое другое
-
Для самого начала необходимо зарегистрироваться или войти.
После успешной регистрации начисляется бонус в размере 111 рублей, с которыми мы уже можем работать.
Давайте создадим проект:
-
Переходим на главную страницу ЛК Amvera.
-
Нажимаем кнопку «Создать проект» в правом верхнем углу, выбираем тип сервиса «Приложение»
-
Выбираем произвольное название проекта и тариф (проверялось на тарифе «Начальный Плюс»)
-
Этап с загрузкой данных можно пропустить — загружать в нашем случае ничего не понадобится.
-
На этапе создания переменных создаем переменные со следующими значениями и названиями:
-
N8N_HOST: 0.0.0.0
-
N8N_PROTOCOL: https
-
GENERIC_TIMEZONE: Europe/Moscow или другая TZ, актуальная для вашего региона
-
N8N_DEFAULT_LOCALE: по умолчанию en
-
N8N_USER_FOLDER: /data (обязательно) Список доступных переменных окружения находится здесь.

Во вкладке конфигурация выбираем следующие значения параметров:
-
Окружение: Docker
-
Инструмент: Docker
-
Ставим галку на Skip
-
В значение параметра image вставляем docker.n8n.io/n8nio/n8n
-
Значение параметра containerPort меняем на 5678 Сохраняем конфигурацию и жмем «Завершить».

Https для n8n
Далее создаем бесплатный домен с типом подключения HTTPS во вкладке «Домены» проекта. Как тип домена выбираем «Бесплатный домен Amvera», если нет собственного.
Теперь мы создали проект и можем его запустить! Для этого жмем кнопку «Собрать» во вкладке «Конфигурация» проекта или кнопку с коробкой на панели управления проектом (правый верхний угол).
Ожидаем около 5 минут статуса «Приложение запущено» и открываем страницу домена. И теперь мы можем работать прям с n8n!
Создание бота в n8n
Когда мы выполнили первичную регистрацию и вход в панель n8n, мы можем создать первую рабочую среду.
В нем мы создадим логику (или рабочий процесс) с использованием OpenAI. Это один из самых простых вариантов рабочего приложения. Само приложение будет представлять собой чат внутри интерфейса n8n, в котором мы сможем общаться с нейросетью.
Пошагово расскажу, что нужно делать:
-
Перейдя в первую рабочую среду, нажимаем большую кнопку на поле «Add first step…», где выбираем узел триггера «On chat message». Так как мы делаем самый простой чат-бот и не будет его делать публичным, в открывшемся окне ничего не трогаем и возвращаемся на рабочее поле.
-
Справа от узла триггера нажимаем на плюсик и выбираем Advanced AI -> AI Agent. В открывшемся окне как Agent выбираем «OpenAI Functions Agent» (можете выбрать любого другого агента, если нужно).
-
Под узлом AI Agent будет 3 плюсика, где как Chat Model выбираем также OpenAI Chat Model; Memory — Window Buffer Memory; Tool — SerpApi (Google Search). Таким образом, мы настраиваем агента, дав ему доступ к SerpAPI (поиску в Google).
-
Для OpenAI Chat Model и SerpAPI необходимо указать Креды (т.е. приватный токен). Через Enter открываем, например, OpenAI Chat Model и жмем «Create New Credential».
-
Когда все будет настроено, мы уже будем иметь полностью рабочее приложение, можно переходить в чат (значок молнии у узла триггера) и общаться с чат-ботом!

То, что мы сделали за 5 минут — минимум возможностей, которые предоставляет n8n.
Давайте проверим работу агента, задав вопрос о погоде в Москве:


Как мы видим, данные совпадают с актуальными, а значит, мы все сделали правильно!
AI-ассистент для работы с базой данных PostgreSQL
Обычный чат-бот это хорошо, но ограничиваться этим мы сегодня не будем. Еще одной возможностью является работа с базой данных внутри чата n8n. Добавив лишь несколько инструментов, мы дадим доступ агенту к базе данных, благодаря чему агент сможет «ходить» туда и выбирать всю интересную для нас информацию.
В роли базы данных будет выступать managed кластер PostgreSQL, развернутый в Amvera по инструкции
Перейдем к настройке, понадобится лишь добавить к созданному в прошлом пункте агенту лишь 1 инструмент:
-
Postgres tool
В настройках этого инструмента необходимо как Operation выбрать Select, заполнить остальные параметры.
И убрать SerpAPI. Также, что логично, перед первым запуском необходимо будет проверить наличие ключа OpenAI и креды от базы PostgreSQL, иначе схема работать не будет.
При каждом обращении в чате, бот идет в базу данных, выполняя сгенерированные SQL-запросы, и возвращает полезную для пользователя информацию, используя полученные данные.
Давайте теперь создадим какой-то сценарий для проверки работоспособности. В существующей базе я создал таблицу со случайными именами в случайном порядке, но некоторые имена повторяются. Попросим агента найти самые повторяющиеся имена и сколько раз они повторялись.
Таблица выглядит следующим образом:

Теперь попросим вывести повторяющиеся имена и получаем следующий ответ:

Подключение телеграм-бота к n8n
Выше мы обращались к агенту исключительно через интерфейс n8n, однако помимо работы через сайт, мы также можем подключить телеграм-бота, что очень удобно, поскольку, опять же, нам не понадобится писать код.
Для начала убедитесь, что у вас создан бот в @BotFather и если нет, создайте. У него вам понадобится получить токен бота.
Также предварительно понадобится немного обновить настройки проекта в Amvera, т. к. телеграм-бот будет работать через вебхуки, а именно:
-
Изменить параметр конфигурации containerPort с 5678 на 80,5678
-
Во вкладке «Домены» раскрыть созданный вами домен и добавить следующие маршруты:

-
Копируем ссылку на приложение с маршрутом /webhook и во вкладке «Переменные» добавляем переменную WEBHOOK_URL, в значение которой вставляем домен с маршрутом. Примерно он будет выглядеть так: https://project-username.amvera.io/webhook
-
Пересобираем проект.
Когда все удалось, мы можем приступать к подключению бота:
-
Удалите существующий узел триггера On chat message и добавьте узел «Telegram». При его добавлении высветится ряд триггеров, среди которых ищем и выбираем «On message».
-
После проделанных действий добавляем креды (токен) бота и сохраняем конфигурацию.
Итого мы получаем следующую картину:

Итог
За минимум времени мы развернули n8n на удаленном сервере, очень кратко ознакомились с интерфейсом и создали несколько рабочих примеров RAG-приложений, таких как n8n телеграм-бота для просмотра погоды и агента для работы с базой данных PostgreSQL.
ссылка на оригинал статьи https://habr.com/ru/articles/890730/
Добавить комментарий