Evolution
Тема интерфейса

Подключение ИИ к nocode Telegram-боту на базе Evolution Foundation Models и Evolution Container Apps

В этой лабораторной работе вы запустите приложение n8n в Container Apps и на базе этого приложения создадите Telegram-бота, который будет интегрирован с сервисом Evolution Foundation Models. С помощью Foundation Models вы сможете отправлять запросы в различные AI-модели и обрабатывать пользовательские запросы. В рамках лабораторной работы мы будем оценивать эмоциональный окрас сообщения пользователя.

Для запуска приложения вы используете:

  • Artifact Registry — сервис для хранения, совместного использования и управления Docker-образами и Helm-чартами.

  • Container Apps — сервис для запуска контейнерных приложений в облаке. Не требует знания Kubernetes и создания виртуальных машин.

  • n8n — платформа с открытым исходным кодом для автоматизации рабочих процессов и интеграции сервисов. Подходит для экспериментов и пет-проектов.

  • Object Storage — сервис для хранения данных любого типа и объема. Будет использоваться в качестве хранилища для контейнера.

  • Foundation Models — сервис для доступа к API популярных фундаментальных моделей машинного обучения с открытым исходным кодом.

Шаги:

Перед началом работы

1. Подготовьте среду

  1. Подготовьте среду, если не сделали этого ранее.

  2. Убедитесь, что у вас есть доступ к Evolution Foundation Models.

  3. Убедитесь, что баланс в личном кабинете положительный. Если он нулевой или отрицательный — пополните баланс. Небольшое количество запросов в Foundation Models будет стоить не больше рубля, подробнее — в тарифах.

2. Создайте Telegram-бота с помощью n8n и Container Apps

3. Удалите шаг отправки сообщения пользователю

Бот будет отправлять ответ от LLM-модели. Поэтому отправка ботом пользователю его же сообщения больше не нужна. Удалите последний шаг SEND A TEXT MESSAGE в созданном рабочем процессе.

4. Добавьте и настройте клиент OpenAI для подключения к Foundation Models

  1. Сгенерируйте API-ключ доступа. При генерации ключа выберите сервис ml_inference_ai_marketplace.

  2. Справа от действия Send a chat action нажмите +.

  3. На вкладке справа в поле поиска введите openai и выберите OpenAI в результатах поиска.

  4. В списке выберите Message a model.

  5. В окне свойств действия нажмите иконку карандаша рядом с полем Credential to connect with.

  6. В поле API Key введите полученный ранее API-ключ.

  7. В поле Organization ID (optional) введите идентификатор вашего проекта

  8. В поле Base URL введите https://foundation-models.api.cloud.ru/v1

  9. Нажмите Save и закройте окно учетных данных OpenAI.

  10. В окне свойств действия раскройте выпадающий список Model и выберите модель deepseek-ai/DeepSeek-R1-Distill-Llama-70B

  11. В секции Messages в поле Prompt введите:

    {{ $('Telegram Trigger').item.json.message.text }}
  12. Нажмите Add Message.

  13. В выпадающем списке Role выберите System.

  14. В поле Prompt для добавленного сообщения вставьте:

    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 — объяснение оценки.

  15. Включите опцию Output Content as JSON.

  16. Сверху нажмите Test step.

  17. Нажмите Back to canvas.

5. Отправьте ответ модели в Telegram-бот

Добавьте новое действие для стартового триггера Telegram:

  1. Справа от действия, добавленного на шаге 4, нажмите +.

  2. На вкладке справа в поле поиска введите telegram и выберите Telegram.

  3. В списке выберите Send a text message.

  4. В окне свойств действия измените наименование действия на Отправляем ответ.

  5. В поле Chat ID вставьте:

    {{ $('Telegram Trigger').item.json.message.chat.id }}
  6. В поле Text вставьте:

    Эмоциональный окрас сообщения --- {{ $json.message.content.result }}
    Объяснение решения --- {{ $json.message.content.explanation }}
  7. Нажмите Add Field и выберите Reply To Message ID.

  8. Слева найдите раздел Telegram Trigger и перетащите оттуда параметр message | message_id в поле добавленного параметра Reply To Message ID.

  9. Нажмите Test step.

    Справа вы увидите тело отправленного сообщения, а в Telegram-бот должно прийти тестовое сообщение с ответом.

  10. Нажмите Back to canvas.

6. Проверьте работу бота

  1. Сверху проверьте, что переключатель находится в состоянии Active.

  2. Перейдите в Telegram-бот и отправьте любой вопрос. Должен вернуться ответ от подключенной LLM.

Что дальше

В этой лабораторной работе при помощи n8n и Container Apps вы создали Telegram-бота, который интегрирован с сервисом Foundation Models и может отправлять запросы в различные AI-модели. Решение можно использовать для автоматического уведомления о новых комментариях на сайте и об их эмоциональном окрасе.

Узнавайте больше о работе с сервисами и получайте практические навыки управления облаком, выполняя лабораторные работы.