Бот для генерации детей

Сказ о том, как мы сделали бот для генерации усатых детей

Бот для генерации детей

Сейчас довольно большой тренд на искусственный интеллект, и его пытаются применять во многих областях. Кто-то заказывает ботов-автоответчиков, кто-то ботов-редакторов, а кто-то заказывает ботов для развлекательных целей. Также о разработке ботов мы рассказываем в нашем ТГ-канале.

К нам пришёл заказ на разработку бота для промоакции от онлайн-кинотеатра Окко. Суть бота была проста: выбираешь персонажа сериала, загружаешь своё фото, и бот через некоторое время генерирует лицо ребёнка, который мог бы у вас с этим персонажем получиться. Бот уже отработал на этой промоакции, и его остановили, но помнить мы будем про него ещё долго.

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

1. Сложность первая — генерация фотографии. Не картинки, не арта, а именно фотографии. Такое условие было у заказчика, чтобы получилась максимально правдоподобная фотография. Для выполнения этой задачи было протестировано множество сервисов, которые предоставляли доступ к различным движкам. Но многое было не то, хотя, на мой личный взгляд, получалось неплохо. В итоге победил Midjourney.

Был один интересный момент: такая генерация — это по сути настройка промпта, то есть инструкций, по которым работает ИИ. На первых этапах ИИ генерировал детей с признаками обоих потенциальных родителей. А у одного из персонажей были усы. И дети получались с усами! И мальчики, и девочки. Я бился всю ночь над тем, чтобы исправить эту проблему. В итоге я победил и отправил заказчику пример, чтобы посмеяться вместе над ошибочным результатом. Но заказчику так понравилось, что они попросили оставить усатых детей.

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

3. Сложность третья - требовалось не только отправлять сгенерированные фотографии в телеграм пользователей, но и собирать статистику, а также хранить состояния для последующих запросов на генерацию. Решения, которые чаще всего используются для разработки ТГ ботов, позволяют это делать, но с некоторыми костылями. Тут на помощь пришла наша же собственная библиотека, про которую я писал ранее. Так как это не самостоятельное решение, а расширение функционала Django по его лучшим практикам, проблема была решена еще на самом старте, выбором инструмента.

4. Сложность четвёртая — сервис для обработки запросов ИИ не работает на территории РФ. Нужно либо подключать VPN, либо использовать сервер, который находится за пределами страны. К счастью, из-за работы с зарубежными заказчиками у нас есть такие серверы, и бот не терял в производительности из-за VPN.

5. Сложность пятая — обновление второй сложности. После запуска бота для промоакции начались активные посевы рекламы, и пользователи массово пошли на бота. В пике доходило до 7000 генераций в сутки. Мы добавили воркеры, настроили Redis, а также докупили ещё дополнительные аккаунты для подключения к сервису.

Это основные сложности, с которыми мы столкнулись, но не все. Бывало, что бот падал под нагрузкой, аккаунты для подключения к генератору фото блокировались, и даже провайдер, у которого арендован сервер, блокировал за подозрительный трафик. Хотя казалось бы, за что.
Мораль в том, что искусственный интеллект можно использовать для различных целей: как для оптимизации процессов, так и для промоакций и развлечений. В последнее время у нас довольно много заказов на оптимизацию с помощью ИИ, но такой веселый бот для промоакции у нас в портфолио пока один.

11
1 комментарий

Важно, чтобы такие технологии были доступны и безопасны для пользователей

Ответить