chatgpt
March 4, 2023

ChatGPT в Salebot

Что будем реализовывать

Доступный функционал на ChatGPT:

✔️ Чат с ботом
✔️ Генератор изображений по нашему описанию
✔️ Редактор нашей картинки по описанию
✔️ Генератор похожих изображений

Пожалуй, интересно всё! Можно пообщаться с роботом и картинку сгенерировать, и, интересно, как ChatGPT отредактирует изображение по описанию.

Будем пробовать все-ё!😄

Кратко, этапы создания

1️⃣ Создадим проект в salebot (http://salebot.pro/) (укажем промокод на 14 дней - botdev)

2️⃣ Проходим регистрацию на https://chat.openai.com.

3️⃣ Переходим на https://beta.openai.com/account/api-keys, чтобы получить ключи доступа по API.

4️⃣ Там же находим доки и изучаем API https://platform.openai.com/docs/api-reference/introduction.

Результат

Да, я решил в начале показать результат всех манипуляций, а затем уже реализацию. Думаю, так интереснее )

Чат с ботом:

Чат с ботом. Бот отвечает картинкой

Генерация изображения:

Генерация изображения по описанию

Чат с ботом:

Выяснилось 🤣

Схема проекта (кратко):

Дальше, эту схему я копировал, меняя заголовки запросов, и вносил правки

Погнали к реализации:

  1. Создаем проект в salebot (https://salebot.pro/) (укажем промокод на 14 дней - botdev).
  2. Регистрируемся на https://chat.openai.com.
  3. Получаем ключи доступа к API на https://beta.openai.com/account/api-keys.

Не буду останавливаться на регистрации и получении ключей API. Считаю, что это просто и понятно. Поэтому, переходим в референс.

Чат с ботом

В API ChatGPT указаны все нужные нам параметры:

Основные параметры указаны на экране, также, здесь имеется возможность выбора модели и ЯП:​

Портируем все параметры в Salebot (справка по API Salebot), для этого:

1️⃣ Переходим в наш проект Salebot.

2️⃣ Делаем меню бота:

Создаем новый блок Первостепенная проверка условия (светло-зеленый):

Меню бота

Меню готово.

3️⃣ Создаем ещё один блок Первостепенная проверка условия.

Здесь разместим условие запуска: "Поболтать с ботом" и начальный текст для пользователя:

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

4️⃣ Запрос к API и вывод результата:

Создаем два блока Состояние диалога, связываем их как на схеме выше.

​В первом блоке делаю запрос к API:

URL запроса: https://api.openai.com/v1/completions

Сохраняемые значения: choices|0|text->text;

Заголовок запроса: {"Content-Type": "application/json", "Accept": "application/json", "Authorization": "Bearer YOUR_API_KEY_HERE"}

JSON параметры: {"model": "text-davinci-003", "prompt": "#{question}", "max_tokens": 2000, "temperature": 1}

Во втором блоке показываем результат: #{text}.

Переходим к тестированию:

Здесь я указал разные единицы измерения. К сожалению, бот это не посчитал важным и ответ выдал не верный.

​Обмениваемся парой фраз с ботом, бот решает задачу. Значит, всё работает, иду дальше, к генерации изображения.


Генератор изображений по нашему описанию​

Дублирую 3, связанных между собой, блока (схема выше).

В условии запуска ставлю условие: Придумай картинку.

Смотрю API для генерации изображения:

И подставляю параметры в скопированный блок:

URL запроса: https://api.openai.com/v1/completions

Сохраняемые значения: data|0|url->picture_url;

Заголовок запроса: {"Content-Type": "application/json", "Accept": "application/json", "Authorization": "Bearer YOUR_API_KEY_HERE"}

JSON параметры: {"prompt": "#{question}", "n": 1, "size": "512x512"}

Во втором блоке во вложении просто указываю URL картинки: #{picture_url}.

Готово. Тестируем.

Осталось реализовать:

  • Редактор нашей картинки по описанию
  • Генератор похожих изображений

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

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

Примерно так:

На этом всё. Надеюсь было интересно и чуть познавательно.

Исходник проекта разместил в канале Ботодельни:

➡️ https://t.me/botodelny


Для тех, кто хочет больше диалогов с "этой прекрасной девушкой" заглядывайте сюда:

https://teletype.in/@nuakakinache/KiWUPLHUzFK