Как я бесплатно запустил в облаке чат-бота для своего Telegram-канала
Рецепт успеха: виртуальная машина с Evolution free tier, нейросеть и пара умелых рук.
Всем привет, на связи команда облачного провайдера Cloud.ru. Мы решили выяснить, как наши клиенты используют Evolution free tier — объём ресурсов в облаке, за который не нужно платить. Поговорили с Антоном, который запустил виртуальную машину с free tier для своего пет-проекта.
По будням я занимаюсь разработкой, а в свободное время веду Telegram-канал про фронтенд. Пишу как для новичков (например, делал подборку с самыми популярными командами git), так и для опытных инженеров (разбирал компилятор React Forget). Канал — моё хобби.
На одной из конференций по фронтенду я узнал о Cloud.ru. Посмотрел услуги на сайте, наткнулся на их виртуалку с free tier и подумал, что можно с ней что-нибудь сделать. Решил создать бота, который будет отвечать на комментарии сгенерированными фразами из нейросети. Это не требует вложений, зато и подписчиков развлекает, и активность в канале поднимает.
Вот как работает мой бот:
Пользователь отправляет эмодзи в комментарии.
Его подхватывает бот, который запущен на виртуальной машине с free tier.
Затем он парсит эмодзи и отправляет запрос в GigaChat.
GigaChat генерирует комментарий на основе эмодзи.
Через бота ответ на комментарий отправляется обратно в чат.
В случайное время бот может вступить в диалог и общаться с подписчиками по теме поста.
С чего я начал
Я взял виртуальную машину с Evolution free tier. Кроме чат-ботов её хватает, например, на нагрузочные тестирования, сервисы кеширования, сайты или небольшие приложения.
Когда регистрировался, узнал, что можно получить 4000 бонусов — для этого нужно привязать банковскую карту в профиле. Я воспользовался первым вариантом, получил баллы и оплатил ими публичный IP. Он стоил около 300 рублей за два месяца.
До знакомства с платформой Cloud.ru Evolution опыта работы с облаками у меня было немного: делал фриланс-проект для одного российского провайдера и самостоятельно изучал Amazon Web Services. Так что мне пришлось поднять воспоминания, чтобы влиться в работу с сервисами Cloud.ru.
Разобраться, что к чему, помогла документация на сайте. В ней я нашёл, например, базовую информацию про SNAT-шлюзы и каталог образов. Когда разбирался с группами безопасности, пришлось обратиться в поддержку. Ответили быстро и довольно подробно, я такого не ожидал.
Какие инструменты понадобились
После регистрации я заказал виртуальную машину, публичный IP и SSH-ключ. Виртуальная машина запустилась без проблем, удобно и быстро. Консоль VPS браузерная, ей можно пользоваться сразу.
Для работы я выбрал образ Ubuntu 22-й версии, установил Node.js и ещё пару пакетов. С помощью службы поддержки настроил группы безопасности, чтобы появился интернет. Дополнительно включил SQL, с его помощью сохраняю сообщения и контекст диалогов — чтобы нейронка лучше понимала, о чём именно идёт речь.
Схематически инфраструктуру можно изобразить так:
Чтобы комментарии бота с самого начала были «в тему», я взял уже обученную платную версию GigaChat Pro. Перебирал разные промпты и настройки входных параметров, прежде чем нейросеть стала выдавать подходящий результат.
Что мне дал этот пет-проект
Как только я запустил бота, отдача стала видна сразу. Под постом, в котором я анонсировал новую фишку канала, было 165 комментариев против обычных 3–5.
В будущем, если мой пыл не угаснет, я бы с удовольствием развивал бота. Пока приобрёл объектное хранилище — оно пригодится, если я решу генерировать через нейросеть не только текст, но и картинки.
По сути, облачные сервисы — это конструктор Lego, только для взрослых. Хочешь — сделай машину, хочешь — корабль.
Что ещё можно сделать на базе Evolution free tier
На этой виртуальной машине можно запустить любой проект, который не требует сложных вычислений: сайт-визитку, систему умного дома или того же чат-бота.
Еще на ней можно тестировать технологии. Не просто посмотреть разбор на YouTube, а самому развернуть и изучить «руками» новую фичу. Например, сделать свой онлайн-редактор или инструмент для лайвкодинга, в котором одновременно работают несколько пользователей. Если развернуть его на виртуальной машине, не придётся держать компьютер постоянно включенным.
Использовать мощности можно и для развлечения: собраться вечерком пятницы в Discord с друзьями и что-нибудь вместе реализовать. Как вариант — поднять сервер World of Warcraft.
Облако Cloud.ru гибкое — можно добирать ресурсы, чтобы масштабировать проект.
Для старта работы с Evolution free tier доступны двухъядерный процессор Intel Gold 6248R, 4 Гб оперативной памяти и 30 Гб диска SSD NVMe. При привязке банковской карты к аккаунту на счёт автоматически зачислится 4000 бонусов — ими можно оплатить сервисы внутри платформы.