Как настроить AI агента в n8n: Полное руководство
n8n — это инструмент с открытым исходным кодом для оркестрации рабочих процессов (workflow automation), который включает в себя мощные ноды (узлы) для работы с искусственным интеллектом. AI агент в n8n представляет собой автоматизированный рабочий процесс, который использует модели больших языковых моделей (LLM) и другие AI-сервисы для выполнения задач: анализа текста, классификации, генерации контента, принятия решений и взаимодействия с другими системами. Настройка такого агента требует понимания архитектуры n8n, доступных AI-нод и принципов построения логических цепочек.
Предварительные требования и настройка окружения
Перед созданием AI агента необходимо обеспечить корректную работу n8n и доступ к AI-сервисам.
- Установка n8n: Вы можете развернуть n8n локально через npm (
npm install n8n -g), использовать Docker-образ, или воспользоваться облачной версией n8n.cloud. - Ключи API AI-провайдеров: Большинство AI-нод требуют аутентификации. Вам понадобятся API-ключи от таких сервисов, как OpenAI (ChatGPT), Google AI (Gemini), Anthropic (Claude), или локально развернутых моделей (например, через Ollama).
- Настройка учетных данных в n8n: В интерфейсе n8n перейдите в раздел «Settings» > «Credentials». Создайте новые учетные данные, выбрав нужного провайдера (например, OpenAI API) и введя ваш API-ключ. Это позволит безопасно использовать ключ в нескольких рабочих процессах.
- Подключите созданные ранее учетные данные OpenAI.
- В поле «Text» укажите
{{ $json.feedback }}(извлекая данные из предыдущей ноды). - В поле «Categories» введите через запятую:
Продукт, Поддержка, Цена, Баг, Предложение. - Выберите модель, например, «gpt-3.5-turbo» для баланса скорости и стоимости.
- Провайдер: OpenAI.
- Модель: gpt-3.5-turbo.
- Промпт (System Message): «Ты — анализатор тональности. Определи сентимент текста строго как POSITIVE, NEUTRAL или NEGATIVE. Выведи только это слово.».
- Промпт (User Message):
{{ $json.feedback }}. - Температура: 0 (для максимальной детерминированности).
- Провайдер: OpenAI.
- Модель: gpt-4 (для более креативного и качественного ответа).
- Промпт (System Message): «Ты — агент службы поддержки. Сгенерируй вежливый и персонализированный ответ на отзыв клиента. Учти категорию отзыва и его тональность. Если тон негативный — извинись и предложи решение. Если позитивный — поблагодари. Будь конкретным. Ответ должен быть на русском языке.».
- Промпт (User Message): «Отзыв клиента: {{ $json.feedback }}. Категория: {{ $node[‘Классификация’].json.category }}. Тональность: {{ $node[‘Анализ_тональности’].json.message }}.».
- Используйте выражение выше для динамической подстановки данных из предыдущих нод. Имена нод должны быть указаны корректно (лучше давать нодам понятные имена).
- «Email» (SendGrid) — для отправки ответа менеджеру или клиенту.
- «Google Sheets» — для сохранения лога в таблицу.
- «Telegram» — для уведомления в чат поддержки.
- «HTTP Request» — для отправки данных обратно в вашу CRM-систему.
- Внешнее хранилище: Используйте ноду «Redis» или «PostgreSQL» для сохранения sessionId и массива сообщений.
- Внутри рабочего процесса: Собирайте историю в массиве, используя ноды «Code» и «Set», и передавайте ее в каждый следующий вызов «Chat Model» в соответствующем формате (например, как массив объектов role/content).
- Используйте ноду «Embeddings» для создания векторных представлений ваших документов.
- Сохраните эмбеддинги и исходный текст в векторной БД (например, Pinecone, Weaviate, Qdrant). Интеграция может потребовать ноды «HTTP Request» или кастомного кода.
- При получении запроса: преобразуйте его в эмбеддинг, найдите похожие фрагменты в БД, подайте их как контекст в ноду «Question and Answer» или «Chat Model».
- Выбирайте более легкие модели (gpt-3.5-turbo вместо gpt-4) для простых задач.
- Ограничивайте параметр «Max Tokens» в нодах.
- Используйте ноду «Split In Batches» для обработки больших массивов данных небольшими порциями с задержкой.
- Кэшируйте повторяющиеся запросы с помощью ноды «Cache».
- «Read Binary Files» для загрузки файла.
- «Convert to File» для преобразования в нужный формат.
- Ноду от сторонних интеграций, например, «UIBakery Text Extractor» или облачный сервис (через «HTTP Request»), чтобы извлечь текст из файла.
- Передайте извлеченный текст на вход AI-ноде («Chat Model», «Summarization»).
- Добавьте ноду «Wait» между выполнениями, чтобы снизить частоту запросов (RPM).
- Используйте ноду «Split In Batches» с опцией «Wait» между батчами.
- Проверьте и увеличьте лимиты в вашем аккаунте у провайдера AI-сервиса.
- Используйте локальные модели (Ollama, LM Studio, локальное развертывание через «HTTP Request»).
- Применяйте ноду «Code» для предварительной очистки и обезличивания данных (удаление имен, номеров) перед отправкой в облачный AI.
- Используйте провайдеров, предлагающие соглашения о защите данных (например, некоторые облачные решения Microsoft Azure OpenAI).
Основные AI-ноды в n8n и их назначение
n8n предлагает разнообразные ноды для интеграции с ИИ. Понимание их функций — ключ к построению эффективного агента.
| Название ноды | Провайдер/Модель | Основное назначение | Ключевые параметры |
|---|---|---|---|
| Chat Model | OpenAI, Anthropic, Google AI, Ollama, LM Studio | Диалоговое взаимодействие с LLM, генерация текста по промпту. | Модель (gpt-4, claude-3), промпт, температура, max tokens. |
| Text Summarization | OpenAI | Специализированная нода для сокращения длинного текста. | Текст, длина итога, фокус (ключевые моменты). |
| Question and Answer | OpenAI | Извлечение ответов из предоставленного контекста (поиск по базе знаний). | Контекст, вопрос, модель. |
| Classification | OpenAI | Классификация текста по заданным категориям. | Текст, категории, модель. |
| Embeddings | OpenAI | Преобразование текста в числовой вектор (эмбеддинг) для семантического поиска. | Текст, модель для эмбеддингов. |
| AI Image | Replicate (Stable Diffusion) | Генерация изображений по текстовому описанию. | Промпт, параметры изображения. |
| AI Vision | OpenAI (GPT-4 Vision) | Анализ и описание загруженных изображений. | Изображение (URL или бинарные данные), промпт. |
Пошаговая инструкция по созданию AI агента
Рассмотрим создание агента для автоматической обработки обратной связи от клиентов. Агент будет классифицировать отзыв, определять его тональность и генерировать персональный ответ.
Шаг 1: Создание нового рабочего процесса (Workflow)
В интерфейсе n8n нажмите кнопку «+ Workflow». Откроется пустой канвас для размещения нод.
Шаг 2: Триггер для получения данных
Первой нодой всегда является триггер — событие, запускающее агента. Добавьте ноду, например, «Schedule Trigger» (для периодического запуска) или «Webhook» (для мгновенного запуска при получении данных). Настройте триггер: для «Schedule Trigger» укажите интервал (например, каждый час), для «Webhook» — скопируйте предоставленный URL.
Шаг 3: Нода для ввода или получения текста отзыва
Добавьте ноду «Code» или «Manual Entry» для тестирования. В ноде «Code» создайте пример данных в формате JSON: [{"feedback": "Ваш продукт отличный, но служба поддержки отвечает медленно."}]. Эта нода будет имитировать поступление данных из внешней системы (например, из Google Forms через ноду «Google Sheets»).
Шаг 4: Нода классификации отзыва
Добавьте ноду «Classification» (OpenAI). Настройте ее:
Запустите ноду вручную (Execute Node), чтобы убедиться, что отзыв классифицирован правильно (например, как «Поддержка»).
Шаг 5: Нода анализа тональности (сентимента)
Для этого используйте универсальную ноду «Chat Model». Добавьте ее и настройте:
Эта нода вернет в своем выводе одно слово — оценку тональности.
Шаг 6: Нода генерации ответа
Добавьте вторую ноду «Chat Model». Ее настройка будет сложнее, так как она должна учитывать результаты предыдущих шагов.
Шаг 7: Консолидация и отправка результата
Добавьте ноду «Code» (или «Merge») для формирования финального объекта с исходным отзывом, классификацией, тональностью и сгенерированным ответом. Затем подключите ноду для отправки результата, например:
Шаг 8: Активация и тестирование рабочего процесса
Включите рабочий процесс тумблером «Active» в верхней части интерфейса. Протестируйте весь поток, запустив его с тестовыми данными. Проверьте логи выполнения каждой ноды (двойной клик на ноде) и финальный результат.
Продвинутые техники и оптимизация
Работа с контекстом и памятью агента
Для создания диалогового агента с памятью о предыдущих сообщениях необходимо сохранять историю разговора. Реализуйте это через:
Цепочки размышлений (Chain of Thought) и агентские фреймворки
Вы можете имитировать сложные рассуждения, создавая цепочки из нескольких нод «Chat Model», где вывод одной ноды является промптом для другой. Например: «Планировщик» -> «Исполнитель» -> «Критик». Для этого связывайте ноды последовательно, модифицируя промпты на каждом этапе.
Интеграция с векторными базами данных (RAG)
Чтобы агент отвечал на вопросы по вашим внутренним документам, создайте систему RAG (Retrieval-Augmented Generation):
Управление затратами и токенами
Использование LLM может быть дорогостоящим. Для оптимизации:
Часто задаваемые вопросы (FAQ)
Как использовать локальную LLM модель (например, через Ollama) в n8n?
Установите и запустите Ollama на вашем сервере. В ноде «Chat Model» выберите провайдера «Ollama». В поле «Base URL» укажите адрес вашего сервера (например, http://localhost:11434/v1). В поле «Model» укажите имя модели, загруженной в Ollama (например, «llama3»). Учетные данные не требуются, если Ollama не защищена аутентификацией.
Можно ли создать AI агента, который принимает решения на основе условий?
Да. После ноды AI используйте ноду «IF» (Condition). Например, если тональность от «Анализа тональности» равна «NEGATIVE», отправьте уведомление в Telegram-чат для срочного реагирования, а если «POSITIVE» — сохраните в Google Sheets для отчета. Логика n8n позволяет создавать сложные ветвления на основе выходных данных AI-нод.
Как обрабатывать файлы (PDF, DOCX) для анализа их содержимого AI агентом?
Используйте комбинацию нод:
Почему моя AI-нода возвращает ошибку «429 Too Many Requests»?
Это ошибка превышения лимита запросов к API провайдера (например, OpenAI). Решения:
Как обеспечить безопасность и не передавать конфиденциальные данные в OpenAI?
При работе с чувствительными данными рассмотрите следующие варианты:
Заключение
Настройка AI агента в n8n — это процесс сборки конвейера из специализированных нод, каждая из которых выполняет определенную задачу: от классификации и генерации текста до анализа изображений. Успех зависит от четкого определения задачи, грамотного выбора моделей и провайдеров, а также корректного соединения нод с использованием динамических выражений для передачи данных. n8n предоставляет гибкую среду, где можно создавать как простых однозадачных ботов, так и сложных агентов с памятью, интеграцией с базами знаний и системами принятия решений. Регулярное тестирование, мониторинг затрат на API и оптимизация промптов являются необходимыми практиками для поддержки эффективной работы AI агента в производственной среде.
Добавить комментарий