Найти тему
toolads

Как мы объединили популярные нейросети в одного Telegram бота

Оглавление

В пик хайпа ChatGPT, сидя в кафе, нам с другом пришла идея, а что если взять все самые хайповые нейросети и поместить в одного Telegram бота и вот что из этого вышло.

Развитие идеи.

Сначала мы решили начать с простого и взяли две нейросети от OpenAI, а именно: ChatGPT и DELL-E 2, было уже круто, но не хватало оптимизации и скорости генерации изображений и ответов, как раз в этот момент, изучая документацию API OpenAI я увидел, что их библиотека имеет асинхронность, счастью не было предела, скорость увеличилась в 2 раза, а бот перестал останавливать цикл работы при генерации.

Процесс реализации.

Это было самым весёлым и одновременно грустным моментом. Изначально мы делали бота синхронным, что не позволяло нам полноценно и с наслаждением пользоваться ботом, тогда было принято решение делать асинхронность! Процесс был тяжелым, но очень интересным, потому что я впервые углубился в разработку Telegram ботов, что дало мне большее представление на сколько это гибкая штука. Во время написания в наши головы приходило всё больше и больше идей и мы незамедлительно их реализовывали. После написания основной части, я решил добавить ещё одну нейросеть DreamAI в бота, затея была крутой, но вот реализация довольно скучной, так как нейросеть имеет множество стилей и их заполнение и обработка была однотипным и скучным процессом, но всё же это тоже было реализовано. На днях я принялся добавлять Stable Diffusion и вот только сегодня это случилось, безумно крутая нейросеть, которая позволяет генерировать по истине классные фотографии. На этом мы не планируем останавливаться и в разработке уже находятся QQ World и Midjourney. Кстати, 20% кода бота написал сам бот

Какие плюсы от этого?

Что-ж, эта идея дала огромный толчок для моих софт-скиллов. Благодаря этой идеи я был вынужден выучить Aiogram, aiohttp, понять работу асинхронности, изучить FSM и ещё множество всякого разного :)

До этого всего меня не особо тянуло на это, так как я занимался веб-разработкой и не часто сталкивался с Telegram ботами, поэтому писал их на pyTelegramBotAPI

Для людей, кто не понимает о чём идёт речь.

Что такое асинхронность? FSM и aiogram? Вам не нужно углубляться в это всё, простыми словами, изначально бот был написан синхронно, то есть выполнение каждой задачи было поэтапно и пока этот этап не завершится, то другой не начнётся. Асинхронность в точности наоборот, это процесс, когда этапы работы могут запускаться в разных потоках и работать одновременно

До чего это дошло?

Развитие бота было сложным, но главная идея была не в том, чтобы сделать из бота коммерческий проект на котором можно заработать, поэтому в наших глаза было рвение и огонь дальше развивать идею и у нас получилось.

В начале февраля начался огромный прирост пользователей, с 700 пользователей до 10.000 буквально за 10 дней, мы не были готовы к такому приросту, поэтому наши токены умирали буквально за пол часа, в этот момент содержания бота стоило 300 рублей в день, чтобы не закрывать проект мы решили ввести систему подписки, но не убрав возможность бесплатно пользоваться ботом. Было принято решение сделать 20 запросов в день, работа такова, что пользователю даётся 20 обращений к боту по их истечению пользователь не может пользоваться ботом до момента следующего дня, пока не обновятся запросы.