Перейти к содержанию

OpenAI Как сделать чат-бота с искусственным интеллектом от OpenAI в WhatsApp?#

Платформа Make предоставляет широкие возможности для автоматизации различных процессов. Мы уже рассказывали про обмен сообщениями между WhatsApp с Discord и Slack, а также о том, как организовать рассылку сообщений с помощью Google Sheets. В этом руководстве мы рассмотрим процесс создания чат-бота с использованием генеративного искусственного интеллекта и интеграции OpenAI в Make.

Для этого нам понадобится аккаунт Green-API с настроенным инстансом, а также аккаунты Make и OpenAI.

Содержание#

  1. Настройка приложения Make
  2. Настройка приложения Green-API
  3. Создание сценария
  4. Настройка получения входящих сообщений
  5. Обработка запроса через OpenAI
  6. Отправка ответного сообщения пользователю
  7. Тестируем работу

Настройка приложений Make и Green-API#

Настройка приложений Make и Green-API подробно описана в разделе Настройка интеграции

Создание сценария#

Scenario (сценарий) - автоматизированный процесс, создаваемый в Make. Каждый сценарии состоит из триггера и действия. При срабатывании триггера в одном из модулей Make автоматически выполняет действие в следующем.

Шаблон сценария

Вы можете создать сценарий по инструкции далее или воспользоваться нашим готовым шаблоном.

Алгоритм создания сценария:

  1. Войдите или зарегистрируйте учетную запись в Make
  2. В боковом меню нажмите кнопку Scenarios

    go-to-scenarios

  3. На странице сценариев нажмите Create a new scenario, чтобы создать новый сценарий

    create-new-scenario

Сценарий успешно создан!


Настройка получения входящих сообщений#

После создания сценария нужно настроить получения входящих сообщений. Настроим его через технологию webhook-endpoint.

Полезно

С детальной настройкой интеграции Green-API, а также с другими способами получения сообщений можете ознакомиться в статье по настройке интеграции.

  1. Создаем новый модуль для получения входящих сообщений. В списке выбираем интеграцию "Green-API"

    Изображение с поиском приложения Green-API

  2. Выбираем модуль для приема входящего вебхука - "New Message Webhook"

    Изображение с выбором модуля "New Message Webhook"

  3. Выбираем вебхук

    Изображение с выбором вебхука из выпадающего списка

    Как создать вебхук?
    • Если нет еще вебхука и связки с инстансом, то создаем их с помощью следующих шагов:
      1. Нажимаем на кнопку add в окне модуля
        Изображение с нажатием на кнопку в модуле вебхука
      2. После этого выбираем связь с инстансом или создаем её нажав на кнопку add в появившемся окне
        Изображение окном выбора инстанса
  4. Чтобы получать входящие уведомления, необходимо включить получение уведомлений о входящих сообщениях в интерфейсе личного кабинета, или используя метод SetSettings.
    Применение настроек может занять до 5 минут

Включение настроек вебхуков

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

Ошибка при обработке вебхука
  • Если при запуске сценария модуль OpenAI получает ошибку, как ниже на скрине, необходимо установить фильтр между модулями New Message Webhook и модулем OpenAI

Ошибка

  • В фильтре установите условие, где typeWebhook должен быть равен incomingMessageReceived.

Фильтр1

Фильтр2


Обработка запроса через OpenAI#

В этом этапе мы настроим оправку сообщения пользователя в интеграцию от OpenAI для получения ответа от нейронной сети.

  1. Среди интеграций находим "OpenAI"

    Изображение с поиском приложения OpenAI

  2. Для генерации ответа пользователю выбираем модуль "Create a Completion"

    Изображение с выбором модуля "Create a Completion"

  3. Перед дальнейшей настройкой получим Api key и Organization ID из личного кабинета аккаунта OpenAI

    1. Чтобы получить Api Key необходимо зарегистрироваться или войти в аккаунт OpenAI
    2. Переходим на вкладку Api Keys и нажимаем на кнопку Create New Api Key

      Изображение с переходом к нужной кнопке

    3. Вводим название ключа и выбираем проект. В нашем случае это будет "Default Project". После ввода всех необходимых данных нажимаем на кнопку Create New Key

      Изображение с вводом данных для создания Api Key

    4. Сохраняем полученный ключ

      Изображение с окном с Api Key

    5. Кроме Api Key нужен Organization ID. Его можно найти на вкладке General

      Изображение со страницы General, на которой указан Organization ID

  4. Введем данные аккаунта в модуль

    1. Нажимаем на кнопку Create a connection

      Изображение с кнопкой создания соединения

    2. Вставляем данные в поля API Key и Organization ID полученные в пункте 3

      Изображение с введенными данным для соединения с OpenAI

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

Для наших целей подойдет модель "gpt-4o-mini", так как она предлагает высокое качество ответов при быстрой скорости генерации и низкой цене

Изображение с выбором модели для ответа

  1. Создадим запрос к модели. На данном этапе нужно выбрать роль и её сообщение

    В данном примере создадим используем запрос с ролью "System", чтобы передать модели имя пользователя и формат диалога.

    Что такое роли и в чем их разница?

    При использовании API от OpenAI можно столкнутся с тем, что при формировании запроса к ChatGPT у запроса имеется "Роль". В чем же их отличие? * Запрос с ролью "System" представляет собой запрос напрямую к языковой модели, задавая её контекст и поведение. Например, можно сделать тон модели более формальным или дать дополнительную информацию, на основе которой модель будет формировать ответ * Запрос с ролью "User" передает запрос пользователя, на который языковая модель отвечает

    Изображение с выбором роли "User"

    1. Для этого нажмем на кнопку Add message

      Изображение с кнопкой создания сообщения с ролью

    2. Выбираем роль. Сначала создадим роль "System" с дополнительными инструкциями для модели

      Изображение с выбором роли "System"

    3. Заполним сообщение, упомянув имя пользователя на основе поля senderName

      Изображение с заполненным системным сообщением для модели

    4. Создаем второй запрос от роли "User", передав переменную с сообщением пользователя в поле Text Content

      Изображение с заполненным сообщением пользователя для модели

Перед переходом на следующий этап нужно снова отправить сообщение на номер привязанный к инстансу для дальнейшей настройки


Отправка ответного сообщения пользователю#

  1. Создаем новый модуль "Send Message" из интеграции от Green-API

    Изображение с выбором модуля "Send Message"

  2. В качестве получателя выбираем отправителя из первого сообщения

    Изображение с выбором ChatId отправителя в качестве получателя

  3. Текстовым сообщением будет являться ответ от языковой модели. Выбираем переменную "Result" из модуля "Create a Completion"

    Изображение с выбором результата от OpenAI в качестве ответного сообщения

  4. Запускаем автоматизацию, нажав на переключатель в углу экрана

    Изображение с включением переключателя сценария


Тестируем работу#

Для тестирования работы автоматизации достаточно отправить сообщение на номер привязанный к инстансу. Через несколько секунд в ответ придет ответное сообщение, содержащие ответ от ChatGPT, а в Make можно будет увидеть успешное выполнение автоматизации.

Изображение с успешным выполнением автоматизации

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


Примеры использования приложения Green-API#

Настройка интеграции Make и WhatsApp

Как сделать обмен сообщениями между WhatsApp и Slack

Как сделать обмен сообщениями между WhatsApp и Discord

Как использовать Google Sheets для организации рассылок в Make

Как создать WhatsApp эхо-бота с помощью Green-API в Make