Как сделать чат-бота с искусственным интеллектом от OpenAI в WhatsApp?#
Для создания чат-бота с использованием генеративного искусственного интеллекта и интеграции OpenAI в Make нам понадобится аккаунт Green-API с настроенным инстансом, а также аккаунты Make и OpenAI.
Содержание#
- Настройка приложения Green-API
- Создание сценария
- Настройка получения входящих сообщений
- Обработка запроса через OpenAI
- Отправка ответного сообщения пользователю
- Тестируем работу
Настройка приложения Green-API#
Настройка приложения Green-API подробно описана в разделе Настройка интеграции
Создание сценария#
Scenario (сценарий) - автоматизированный процесс, создаваемый в Make.
Каждый сценарий состоит из триггера и действия. При срабатывании триггера в одном из приложений Make автоматически выполняет действие в другом.
Шаблон сценария
Вы можете создать сценарий по инструкции далее или воспользоваться нашим готовым шаблоном.
Алгоритм создания сценария:
- Войдите или зарегистрируйте учетную запись в Make
- В боковом меню нажмите кнопку
Scenarios

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

- Сценарий успешно создан!
После создания сценария на странице Make появится знак плюс (добавление модуля).
Настройка получения входящих сообщений#
Для получения сообщений в Make требуется настроить триггер:
Настройка инстанса
При использовании триггера Watch webhooks автоматически устанавливается настройка инстанса:
"webhookUrl": "вебхуксервер make",
"incomingWebhook": "yes"
Порядок настройки триггера:
- Создайте новый сценарий
- Нажмите на знак
+
, в списке приложений найдите GREEN-API for WhatsApp

- Выберите в начале списка триггер Watch webhooks

-
Нажмите на добавленный модуль, чтобы открыть его настройки
-
Нажмите
Create a webhook
чтобы добавить вебхук

- Нажмите
Create a connection
чтобы добавить подключение к инстансу

-
Укажите значения Вашего инстанса
idInstance
иapiTokenInstance
(Сценарий будет получать сообщения с номера, привязанного к этому инстансу)

Поле
Connection name
можно использовать для названия добавляемого инстанса (например "рабочий номер" или "продажи").
Это позволит вам легко найти нужную учётную запись в списке доступных при создании интеграций.
- Нажмите
Save
для сохранения значений
По умолчанию сценарий запускается при получении сообщения от любого написавшего номера.
Для запуска сценария при получении сообщения от определённого номера (или нескольких конкретных номеров), используйте параметр chatIds

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

- Номер можно добавить вручную, введя его в поле
ChatId
:

При заполнении номера вручную, требуется вводить в международном формате + постфикс c@us
- phoneNumber@c.us
.
Например: 79876543210@c.us
.
Для добавления нескольких номеров, добавьте желаемое количество полей, нажав на Add item

- Нажмите
Save
, чтобы сохранить настройки
-
Сделайте тест, нажав кнопку
Run once
.Если на выбранном инстансе есть входящие сообщения, и тест успешен, нажмите на
лупу
, чтобы увидеть, какие поля будут доступны при настройке действия.
Готово! Триггер настроен и готов к использованию!
Ошибка при обработке вебхука
- Если при запуске сценария модуль
OpenAI
получает ошибку, как ниже на скрине, необходимо установить фильтр между модулямиWatch webhooks
и модулемOpenAI

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


Обработка запроса через OpenAI#
В этом этапе настраивается отправка сообщения пользователя в интеграцию от OpenAI для получения ответа от нейронной сети.
-
Среди интеграций найдите OpenAI
-
Для генерации ответа пользователю выберите модуль Create a Completion (Prompt)
-
Перед дальнейшей настройкой получим
Api key
иOrganization ID
из личного кабинета аккаунта OpenAI- Зарегистрируйтесь или войдите в аккаунт OpenAI
-
Перейдите на вкладку
Api Keys
и нажимаем на кнопкуCreate new secret key
-
Введите название ключа и нажмите на кнопку
Create secret key
-
Сохраните полученный ключ
-
Кроме
Api Key
нуженOrganization ID
. Он находится на вкладкеGeneral
-
Введите данные аккаунта в модуль
-
Нажмите на кнопку
Create a connection
-
Вставьте данные в поля
API Key
иOrganization ID
полученные в пункте 3
-
-
Следующим этапом является выбор модели, которая будет генерировать ответ пользователю.
Каждая модель из списка имеет как свои преимущества, так и недостатки, с которыми можно ознакомится на официальной документации.Для наших целей подойдет модель "gpt-4o-mini", так как она предлагает высокое качество ответов при быстрой скорости генерации и низкой цене
-
Создайте запрос к модели. На данном этапе нужно выбрать роль и её сообщение
В данном примере создадим используем запрос с ролью Developer / System, чтобы передать модели имя пользователя и формат диалога.
Что такое роли и в чем их разница?
При использовании API от OpenAI можно столкнутся с тем, что при формировании запроса к ChatGPT у запроса имеется "Роль". В чем же их отличие?
- Запрос с ролью Developer / System представляет собой запрос напрямую к языковой модели, задавая её контекст и поведение. Например, можно сделать тон модели более формальным или дать дополнительную информацию, на основе которой модель будет формировать ответ
- Запрос с ролью User передает запрос пользователя, на который языковая модель отвечает
-
Для этого нажмем на кнопку
Add message
-
Выбираем роль. Сначала создадим роль Developer / System с дополнительными инструкциями для модели
-
Заполним сообщение, упомянув имя пользователя на основе поля senderName
-
Создаем второй запрос от роли User, передав переменную с сообщением пользователя в поле
Text Content
Так как текст сообщения может передаваться в разных полях в зависимости от типа собщения, рекомендуется указать условие:
"еслиtextMessageData: textmessage
не пусто, то использовать его; в ином случае - использоватьextendedTextMessageData.text
"
Перед переходом на следующий этап нужно снова отправить сообщение на номер привязанный к инстансу для дальнейшей настройки
Отправка ответного сообщения пользователю#
-
Добавим новый модуль Send a Message из приложения GREEN-API for WhatsApp
-
В качестве получателя выбираем отправителя из уведомления
incomingMessageReceived
, полученном в модуле Watch webhooks -
Текстовым сообщением будет являться ответ от языковой модели. Выбираем переменную
Result
из модуля Create a Completion -
Запускаем автоматизацию, нажав на переключатель в углу экрана
Тестируем работу#
Для тестирования работы автоматизации достаточно отправить сообщение на номер привязанный к инстансу. Через несколько секунд в ответ придет ответное сообщение, содержащие ответ от ChatGPT, а в Make можно будет увидеть успешное выполнение автоматизации.

Личный чат-бот в WhatsApp с ИИ для общения с пользователями настроен и готов к работе.
Примеры использования приложения Green-API#
Настройка интеграции Make и WhatsApp
Как сделать обмен сообщениями между WhatsApp и Slack
Как сделать обмен сообщениями между WhatsApp и Discord
Как использовать Google Sheets для организации рассылок в Make