Как мы объединили популярные нейросети в одного 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 обращений к боту по их истечению пользователь не может пользоваться ботом до момента следующего дня, пока не обновятся запросы.

Итоги.

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

Примеры генерации изображений:

Как воспользоваться ботом?

Всё очень просто, переходим в Telegram и в поиске пишем @EdyaAIrobot или же просто тыкаем сюда -> *клац*

Если у вас есть какие-то вопросы по работе бота можете писать в личные сообщение Telegram -> *клац*

На закуску.

В качестве бонуса расскажу, как правильно генерировать качественные изображения, кстати, фотографии были сгенерированы ботом.

План для хорошей генерации

  • Тема картинки
  • Среда
  • Стиль
  • Разрешение
  • Дополнительные сведения
  • Цвет | Не обязательно
  • Освещение | Не обязательно

Первый делом нужно задать тему изображения, допустим "Космическая война", далее пишем среду "на марсе", стиль "ультра реализм", разрешение "4k ultra hd", дополнительные сведения "разрушенный корабль на заднем фоне, пыль, лучи солнца", цвет "в полном цвете", освещение "объёмное освещение"

Наш полный запрос: Космическая война на марсе, ультра реализм, 4k ultra hd, разрушенный корабль на заднем фоне, пыль, лучи солнца, в полном цвете, объёмное освещение.

Ответ от нейросети:

Впечатляет, но это ещё не всё! Добавляем скобки. Они служат увеличению приоритета над описанием фотографии, например если мы хотим, чтобы в нашем запросе приоритет стоял на корабль и лучи солнца, то запрос будет выглядеть так:

Космическая война на марсе, ультра реализм, 4k ultra hd, (разрушенный корабль на заднем фоне), пыль, (лучи солнца), в полном цвете, объёмное освещение.

Приоритет можно увеличить в 4 раза, то есть максимум 4 скобки.

Зададим такой запрос:

Космическая война на марсе, ультра реализм, 4k ultra hd, ((((разрушенный корабль на заднем фоне)))), пыль, ((((лучи солнца)))), в полном цвете, объёмное освещение.

Получим ответ:

Как мы видим, выставив приоритет и вправду акцент перешёл на корабль и солнце

Так же есть квадратные скобки, работают они в примерной аналогии с круглыми, но теперь они не усиливают приоритет, а "говорят" нейросети сколько шагов нужно пройти для того или иного описания, переделаем наш запрос:

[Космическая война на марсе:20], [ультра реализм:40], 4k ultra hd, ((((разрушенный корабль на заднем фоне)))), пыль, ((((лучи солнца)))), в полном цвете, объёмное освещение.

Что мы сделали? Мы показали нейросети, что "Космическая война на марсе" и "ультра реализм" должны пройти 20 и 40 шагов прежде чем нейросеть про них забудет, посмотрим, что получилось:

Спасибо всем, кто дочитал этот душевный рассказ!

0
34 комментария
Написать комментарий...
Михаил Швец

Текстовая нейросеть Davinci конечно выдает полный бред. Сделал такой же запрос в Chatgpt, и он хотя бы выдал правду про существующего футболиста. К сожалению, доверие к этой нейросети упало до нуля, пользоваться ей смысла не вижу.

Ответить
Развернуть ветку
Михаил Швец

Текстовая нейросеть Davinci конечно выдает полный бред. Сделал такой же запрос в Chatgpt, и он хотя бы выдал правду про существующего футболиста. К сожалению, доверие к этой нейросети упало до нуля, пользоваться ей смысла не вижу.

Ответить
Развернуть ветку
Игорь Алексеенко

Текстовая нейросеть Davinci конечно выдает полный бред. Сделал такой же запрос в Chatgpt, и он хотя бы выдал правду про существующего футболиста. К сожалению, доверие к этой нейросети упало до нуля, пользоваться ей смысла не вижу.

Ответить
Развернуть ветку
Андрей
Автор

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

Ответить
Развернуть ветку
Игорь Алексеенко
Ответить
Развернуть ветку
Андрей
Автор

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

Ответить
Развернуть ветку
Арсений Неиванов

Ясно понятно) На самом деле непонятно

Ответить
Развернуть ветку
Alex B

Бот просто по API обращается к другим сервисам, ничего инновационного тут нет. На картинках в посте объекты повторяются. Это баг Stable Diffusion, когда модель обучена под соотношение сторон 1к1.Есть сервис https://devoid.pics и бот https://t.me/ai_nsfw_bot, где можно бесплатно потыкать SD и генерировать любые изображения

Ответить
Развернуть ветку
Ware Wow

Не понял, как вы могли подключить chatgpt если у него еще не открыли API? Вы имеете ввиду davinchi?

Ответить
Развернуть ветку
Андрей
Автор

Да, но модель davinchi не слишком отличается от ChatGPT

Ответить
Развернуть ветку
Vasiliy Leytman

ну как сказать — начнем с того, что chatgpt — это модель для чата, а davinci — нет?)))

Ответить
Развернуть ветку
Денис Пешехонов

Ну тогда детский трёхколёсный велосипед ничем не отличается от Феррари: и то и другое с колёсами и ездит :)

Последняя версия ChatGPT на десять голов выше, чем Davinci и другие основанные на старых версиях модели.

Ответить
Развернуть ветку
Криптокосилка

Если бот реально синхронен в телеге и выдает качественные изображения, то это шик, тестим

Ответить
Развернуть ветку
Андрей
Автор

Бот был синхронен, сейчас полностью в асинхронном режиме работает

Ответить
Развернуть ветку
Sam

Ну что то грустно. "При обработки запроса произошла ошибка, повторите его снова". Да и слово "обработки" написано с ошибкой )

Ответить
Развернуть ветку
Олег Комаров

Может набежали пользаки.

Ответить
Развернуть ветку
Андрей
Автор

Да, набежало много людей, поэтому бот не сразу может обработать запрос, а на счёт ошибки, то спасибо за бдительность)

Ответить
Развернуть ветку
victor

ну и чо это за хрень, просто фото кота из интернета?

Ответить
Развернуть ветку
Илья Ишутин

Показал бы мне кто нибудь эту статью в 2006....

Ответить
Развернуть ветку
Андрей
Автор

Ахахвхавх , было бы славно :)

Ответить
Развернуть ветку
Dogadov A.
Ответить
Развернуть ветку
mebowa7023

вау

Ответить
Развернуть ветку
Тарас Бульба

Спасибо. Пошел тестить...

Ответить
Развернуть ветку
An4ous

Из 3-х генерации картинок работает 1, SD платно, вторая "При обработки запроса произошла ошибка, повторите его снова". Ок.

Ответить
Развернуть ветку
V К

Кто-то пояснит, зачем тут чатгпт? Какова его роль?

Ответить
Развернуть ветку
Арсений Неиванов

DALL-E 2 в итоге неплохо работает за исключением пары сбоев бота, на месяц оплатил, поиграемся :)

Ответить
Развернуть ветку
turbo indeets

Для генерации текста эта штука полностью бесполезна!!! Задаю вопросы, ответы на которые легко гуглятся, и ОНА НАГЛО ВРЁТ!!! Пишет такою лажу, что цензурными словами и не скажешь. НО задумка хорошая. Без ChatGPT такой бот не очень то и нужен

Ответить
Развернуть ветку
Иван Толстопятов

Писать про асинхронность, где её необходимость само собой очевидна - плач дилетанта.
И почему-то у большинства ботов куча кнопок, где это можно обернуть гораздо проще.
Есть например бот Coddi, который гораздо интерактивнее, с интергацией в группы. Скоро прикрутят Midjourney.
Попробуйте сами: t.me/coddi_bot

Ответить
Развернуть ветку
Андрей
Автор

Куча кнопок? В боте всего 2 кнопки, которые реально используются и сделаны это для того, чтобы бота можно было спокойно интегрировать в чат, а на счёт Midjourney, то уже через 3 дня мы тоже его прикрутим :)

Ответить
Развернуть ветку
Tik Tok Trend

Почему бот не дописывает код? Обрывается на середине и всё...

Ответить
Развернуть ветку
Андрей
Автор

Лимиты телеграма

Ответить
Развернуть ветку
Tik Tok Trend

Обидно

Ответить
Развернуть ветку
Михаил М!

почти все боты платные, а бесплатные выдают дичь. В общем все сделано ради того, что бы набрать подписчиков на канал.

Ответить
Развернуть ветку
VIACHESLAV

Можете использовать t.me/A1_GPT_CHAT_BOT
Он бесплатный и полноценный

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
31 комментарий
Раскрывать всегда