Добавляем DALL-E 3 в свой ChatGPT бот в Telegram

—

от автора

DALL-E 3, новая версия модели для генерации изображений от OpenAI, стала доступна публично через ChatGPT в октябре 2023 года и сразу стала очень популярной благодаря существенно лучшему качеству генерируемых изображений, по сравнению с предыдущими версиями модели.

До DALL-E 3 главным и, по сути, единственным серьёзным игроком в этой области была компания Midjourney, которая обзавелась целой армией фанатов ещё в 2022 году. Однако теперь ситуация изменилась и конкуренция стала гораздо более ощутимой.

Генерировать изображения в Midjourney можно только в чат-боте Discord, у продукта нет своего приложения или веб-сайта, нет программного доступа через API. Это ограничивает способы использования генератора изображений. У DALL-E 3 таких ограничений нет.

Добавляем DALL-E 3 в чат-бот Telegram

ВНИМАНИЕ!
Это продолжение туториала, начало здесь: Свой ChatGPT бот в Telegram в 2023.

Облачная функция

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

/image описание изображения, которое надо сгенерировать

Открываем консоль Яндекс.Облака, идём в раздел Cloud Functions, заходим в нашу функцию и переходим во вкладку «Редактор».

Здесь в файле index.py сразу после метода clear_history и обязательно перед методом echo_message добавляем код нового метода:

@bot.message_handler(commands=["image"]) def image(message):     prompt = message.text.split("/image")[1].strip()     if len(prompt) == 0:         bot.reply_to(message, "Введите запрос после команды /image")         return      try:         response = client.images.generate(             prompt=prompt, n=1, size="1024x1024", model="dall-e-3"         )     except:         bot.reply_to(message, "Произошла ошибка, попробуйте позже!")         return      bot.send_photo(         message.chat.id,         response.data[0].url,         reply_to_message_id=message.message_id,     )

Жмём кнопку «Сохранить изменения» и смотрим, как функция собирается.

Список команд Telegram-бота

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

Для этого идём в BotFather, в котором мы изначально создавали наш бот и начинаем с команды /mybots

Вы увидите список ваших ботов, выбираем нужный бот и жмём «Edit Bot».

Затем «Edit Commands».

И посылаем такой список:

new - Очистка истории переписки image - Генерация изображений. Введите описание изображения после команды

После этого список команд должен стать доступен в вашем боте сразу.


На этом всё. Теперь наш бот умеет не только отвечать на текстовые сообщения, но и генерировать изображения!

Сделаем быструю проверку:

Продолжение


ссылка на оригинал статьи https://habr.com/ru/articles/773528/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *