С помощью этого руководства вы запустите приложение n8n в Container Apps или в Notebooks. На базе этого приложения создадите Telegram-бота, который будет интегрирован с сервисом Foundation Models.
С помощью Foundation Models вы сможете отправлять запросы в различные AI-модели и обрабатывать пользовательские запросы.
В рамках этого сценария мы будем оценивать эмоциональный окрас сообщения пользователя.
Вы будете использовать следующие сервисы:
Artifact Registry для хранения, совместного использования и управления Docker-образами, Deb-пакетами, RPM-пакетами, Helm-чартами и файлами любого типа (generic).
Container Apps — сервис для запуска контейнерных приложений в облаке. Не требует знания Kubernetes и создания виртуальных машин.
Notebooks — сервис для запуска сред ML и работы DS-специалистов в ноутбуках на платформе Evolution.
Object Storage — объектное S3-хранилище с бесплатным хранением файлов объемом до 15 ГБ. Будет использоваться в качестве хранилища для контейнера.
Foundation Models — сервис для доступа к API популярных фундаментальных моделей машинного обучения с открытым исходным кодом.
n8n — платформа с открытым кодом для автоматизации рабочих процессов и интеграции сервисов. Подходит для экспериментов и пет-проектов.
Шаги:
Если вы уже зарегистрированы, войдите под своей учетной записью.
Подготовьте среду, если не сделали этого ранее.
Убедитесь, что у вас есть доступ к Foundation Models.
Убедитесь, что баланс в личном кабинете положительный. Если он нулевой или отрицательный — пополните баланс. Небольшое количество запросов в Foundation Models будет стоить не больше рубля, подробнее — в тарифах.
Выполните сценарий, описанный в практическом руководстве Создание Telegram-бота без написания кода с помощью n8n и Container Apps или Notebooks.
Тестовый образ n8n создан в версии n8n@1.117.3. Если вы создаете и разворачиваете кастомный образ, рекомендуется использовать версию n8n 1.117.3 для стабильной работы образа с Container Apps и Foundation Models.
Бот будет отправлять ответ от LLM-модели. Поэтому отправка ботом пользователю его же сообщения больше не нужна. Удалите последний шаг SEND A TEXT MESSAGE в созданном рабочем процессе.
Справа от действия Send a chat action нажмите +.
На вкладке справа в поле поиска введите Basic LLM и выберите Basic LLM Chain в результатах поиска.
В выпадающем списке Source for prompt выберите Define below.
В поле Prompt (User Message) введите:
{{ $('Telegram Trigger').item.json.message.text }}
В блоке Chat Messages (if Using a Chat Model) введите два сообщения:
Для создания первого сообщения нажмите Add prompt.
В выпадающем списке Type Name or ID выберите User.
В поле Message Type выберите Text.
В поле Message введите:
{{ $('Telegram Trigger').item.json.message.text }}
Для создания второго сообщения нажмите Add prompt.
В выпадающем списке Type Name or ID выберите System.
В поле Message укажите промпт:
You are an expert in text sentiment analysis. When solving a task, FIRST think step-by-step in private to reach your answer. Do NOT reveal these private thoughts. Instead, output ONLY a JSON object with three keys: 1. "result" – one of: "positive", "negative", "neutral" 2. "confidence" – number between 0 and 1 (e.g. 0.87). Calibrate it so the three classes are equally likely a priori. 3. "explanation" – a brief, public rationale (1-3 sentences) that cites the pivotal phrases.Use Russian language to provide explanation. Follow the format of the few-shot examples exactly: nothing before or after the JSON. Don't use json
С помощью промта модель анализирует эмоциональный окрас сообщения и возвращает ответ в формате JSON. Он содержит три поля:
result — результат оценки эмоционального окраса сообщения: негативный, нейтральный или позитивный;
confidence — уверенность в оценке от 0 до 1;
explanation — объяснение оценки.
Внизу рядом с Model нажмите на значок +.
Откроется список Language Models.
В поле поиска введите openai и выберите Open AI Chat Model.
В выпадающем списке в поле Credential to connect with выберите + Create new credential.
В поле API Key введите API-ключ, полученный на этапе подготовки среды.
В поле Organization ID (optional) введите идентификатор вашего проекта.
В поле Base URL введите https://foundation-models.api.cloud.ru/v1.
Нажмите Save и закройте окно учетных данных OpenAI.
Раскройте выпадающий список Model, выберите By ID и введите название модели openai/gpt-oss-120b.
В разделе Options нажмите Add option, введите Response и выберите Response Format.
В выпадающем списке Response Format выберите JSON.
Нажмите Back to canvas.
Чтобы выполнить шаг в тестовом режиме, выберите Basic LLM Chain.
Сверху нажмите Execute step.
Нажмите Back to canvas.
Добавьте новое действие для стартового триггера Telegram:
Справа от действия, добавленного на шаге 4, нажмите +.
На вкладке справа в поле поиска введите telegram и выберите Telegram.
В списке выберите Send a text message.
В окне свойств действия измените наименование действия на Отправляем ответ.
В поле Chat ID вставьте:
{{ $('Telegram Trigger').item.json.message.chat.id }}
В поле Text вставьте:
Эмоциональный окрас сообщения --- {{ $json.result }}Объяснение решения --- {{ $json.explanation }}
Нажмите Add Field и выберите Reply To Message ID.
Слева найдите раздел Telegram Trigger и перетащите оттуда параметр message | message_id в поле добавленного параметра Reply To Message ID.
Нажмите Test step.
Справа вы увидите тело отправленного сообщения, а в Telegram-бот должно прийти тестовое сообщение с ответом.
Нажмите Back to canvas.
Вы увидите следующую цепочку действий:
Сверху проверьте, что переключатель находится в состоянии Active.
Перейдите в Telegram-бот и отправьте любой вопрос. Должен вернуться ответ от подключенной LLM.
Вы создали Telegram-бота в Container Apps или Notebooks, который интегрирован с сервисом Foundation Models и может отправлять запросы в различные AI-модели. Решение можно использовать для автоматического уведомления о новых комментариях на сайте и об их эмоциональном окрасе.