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

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. Тестируем работу

1. Настройка приложения Make#

  1. Войдите или зарегистрируйте учетную запись в Make
  2. Установите приложение Green-API в Make по ссылке
  3. Нажмите кнопку Install
    install
  4. Выберите организацию куда будет устанавливаться приложение Green-API и нажмите кнопку Install
    install-organization
  5. На странице Installed Apps можете проверить доступность приложения в Вашей организации
    check-installed-app

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

Чтобы воспользоваться приложением Green-API, нужно получить регистрационный токен и ID инстанса в личном кабинете. Для тестирования нашего API рекомендуем воспользоваться бесплатным тарифом разработчика (Developer).

  1. Войдите или зарегистрируйте учетную запись в Green API
  2. Создайте инстанс на бесплатном тарифе "Developer". Для этого в личном кабинете нажмите кнопку Создать инстанс и выберите тариф
    create-instance

    developer
  3. Авторизуйте телефон. Для этого:

    • Можно отсканировать QR-код на странице настройки инстанса. В мобильном приложении WhatsApp или WhatsApp Business войдите в связанные устройства и отсканируйте полученный QR-код.

      scan-qr

    • Или запросить шестизначный код авторизации для привязки по номеру телефона. В мобильном приложении WhatsApp или WhatsApp Business войдите в связанные устройства и нажмите Связать по номеру телефона.

      scan-qr

    После успешной авторизации, инстанс должен получить статус Авторизован.
    Проверить статус инстанса вы можете используя метод GetStateInstance

  4. Требуется скопировать значения idInstance и apiTokenInstance для работы со сценариями Make

    console

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

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

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

  1. Войдите или зарегистрируйте учетную запись в Make
  2. В боковом меню нажмите кнопку Scenarios
    go-to-scenarios
  3. На странице сценариев нажмите Create a new scenario, чтобы создать новый сценарий
    create-new-scenario

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

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

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

Полезно

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

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

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

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

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

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

5. Обработка запроса через 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", так как она предлагает высокое качество ответов при быстрой скорости генерации и низкой цене
    Изображение с выбором модели для ответа
  6. Создадим запрос к модели. На данном этапе нужно выбрать роль и её сообщение
    В данном примере создадим используем запрос с ролью "System", чтобы передать модели имя пользователя и формат диалога.

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

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

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

    1. Для этого нажмем на кнопку Add message
      Изображение с кнопкой создания сообщения с ролью
    2. Выбираем роль. Сначала создадим роль "System" с дополнительными инструкциями для модели
      Изображение с выбором роли "System"
    3. Заполним сообщение, упомянув имя пользователя на основе поля senderName
      Изображение с заполненным системным сообщением для модели
    4. Создаем второй запрос от роли "User", передав переменную с сообщением пользователя в поле Text Content
      Изображение с заполненным сообщением пользователя для модели

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

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

  1. Создаем новый модуль "Send Message" из интеграции от Green-API
    Изображение с выбором модуля "Send Message"
  2. В качестве получателя выбираем отправителя из первого сообщения
    Изображение с выбором ChatId отправителя в качестве получателя
  3. Текстовым сообщением будет являться ответ от языковой модели. Выбираем переменную "Result" из модуля "Create a Completion"

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

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

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

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

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


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

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

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

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

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