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.
Результат
Да, я решил в начале показать результат всех манипуляций, а затем уже реализацию. Думаю, так интереснее )
Погнали к реализации:
- Создаем проект в salebot (https://salebot.pro/) (укажем промокод на 14 дней - botdev).
- Регистрируемся на https://chat.openai.com.
- Получаем ключи доступа к API на https://beta.openai.com/account/api-keys.
Не буду останавливаться на регистрации и получении ключей API. Считаю, что это просто и понятно. Поэтому, переходим в референс.
Чат с ботом
В API ChatGPT указаны все нужные нам параметры:
Основные параметры указаны на экране, также, здесь имеется возможность выбора модели и ЯП:
Портируем все параметры в Salebot (справка по API Salebot), для этого:
1️⃣ Переходим в наш проект Salebot.
Создаем новый блок Первостепенная проверка условия (светло-зеленый):
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 в проект, но конструктор пока не включает необходимые для этого библиотеки.
Поэтому остановился и решил сделать разговор с ботом, где бот бы отвечал картинкой.
На этом всё. Надеюсь было интересно и чуть познавательно.
Исходник проекта разместил в канале Ботодельни:
Для тех, кто хочет больше диалогов с "этой прекрасной девушкой" заглядывайте сюда: