Создание бота на основе ChatGPT в Salebot

ChatGPT в Salebot

Создание бота на основе ChatGPT в Salebot

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

Доступная функциональность на ChatGPT:

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

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

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

Этапы реализации (кратко)

  1. Создание проекта в salebot (https://salebot.pro/) (укажем промокод на 14 дней - botdev).
  2. Регистрация на https://chat.openai.com.

  3. Получаем ключи доступа к API на https://beta.openai.com/account/api-keys.

  4. Реализация чата с ботом.
  5. Генератор изображений по описанию.

  6. Редактор картинки по описанию.

  7. Генератор похожих изображений.

Не буду останавливаться на регистрации и получении ключей API. Здесь все просто и понятно, и сразу перейду к реализации чата с ботом.

Чат с ботом

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

Создание бота на основе ChatGPT в Salebot

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

Создание бота на основе ChatGPT в Salebot

Я остановился на модели text-davinci-003, в рамках знакомства, мне этого будет достаточно. Вы же, можете использовать непосредственно модель ChatGPT (на текущий момент, это: gpt-3.5-turbo). В исходниках есть обе модели.

Портируем все параметры в Salebot (справка по API Salebot):

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

Это будет меню бота

Создание бота на основе ChatGPT в Salebot
  • Создаем ещё один блок Первостепенная проверка условия.

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

Создание бота на основе ChatGPT в Salebot

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

Общая схема проекта должна получиться примерно такой:

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

В первом блоке делаю запрос к 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}

Создание бота на основе ChatGPT в Salebot

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

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

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

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

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

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

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

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

Создание бота на основе ChatGPT в Salebot

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

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.

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

Создание бота на основе ChatGPT в Salebot

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

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

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

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

Принцип такой: пользователь задает вопрос, от сервера приходит ответ, который уходит в генератор изображения. Дальше собираем ответы от сервера в одно сообщение и отправляем пользователю.

Получилось даже забавно:

Часть диалога
Часть диалога

Ссылка в канале:

66
11
4 комментария

Как изменить язык бота в salebot? Отвечает только на английском языке

Ответить

В контексте ChatGPT добавьте фразу в конце: отвечай на русском языке.

1
Ответить

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

Ответить

Подскажите кто может в нем сделать проект за деньги, разрабы мой мейл bishopkileris@gmail.com

Ответить