ИНСТРУКЦИЯ

Интеграция amoCRM с ChatGPT через виджет «Триггеры»

В данной инструкции вы научитесь делать запросы в нейросеть ChatGPT для решения ваших бизнес-задач. В этом кейсе мы будем анализировать все входящие сообщения через нейросеть, если там содержится негатив от клиента, будем отправлять сообщение в Телеграм чат.
Данная инструкция предназначена для самостоятельной настройки интеграции, предполгает наличие опыта работы с виджетом Триггеры и знаний простых методов взаимодействия с сервисами по API.

Здесь мы описываем возможности связки виджета Триггеры и amoCRM, однако не можем отвечать за то как именно отработает нейросеть. Нужно быть готовым к тому, что ответы могут приходить не полные, не корректные и не удовлятворять нужным вам требованиям.

Какие инструменты будем использовать

  • amoCRM
    Все входящие сообщение в мессенджерах, соцсетях и онлайн-чатах должны быть интегрированы с amoCRM. Если сейчас менеджеры переписываются с клиентами в одном окне, то все хорошо.
  • Виджет «Триггеры»
    Это виджет для автомтизации процессов в amoCRM. Одна из его функций — это отправка веб хуков в сторонние системы по API. Он отправляет запрос из amoCRM, получает ответ и на основе содержания ответа может производить различные действия в amoCRM.
    Мы будем отправлять запрос в ChatGPT, "спрашивать", все ли в порядке с этим сообщением клиента, и, в зависимости от ответа, запускать нужный сценарий.

    В данном кейсе так же используется виджет "Отправка уведомлений в Телеграм", чтобы отсылать сообщения в общий чат, однако он не обязателен. Уведомлять можно, например, задачей или внутренним сообщением.
  • Нейросеть ChatGPT от Open AI
    Нейросеть принимает запросы по API и отправляет ответ. Мы будем использовать метод chat.completion и модель gpt-3.5-turbo с параметрами по умолчанию. В целом, вам не обязательно разбираться в этих умных словах, если следовать этой инструкции, все должно получиться.

    Отметим, что продукты OpenAI на данный момент не доступны на территории Российской Федерации. Для подключения может понадобиться VPN и иностранный номер, инструкция.
    Если у вас нет API ключа от OpenAI, первым делом нужно начать с этого.
Видео-инструкция по настройке

Как анализировать текст клиента в чатах на негатив через нейросеть

Очень просто — мы будем отправлять входящее сообщение клиента в ChatGPT и «просить» его проанализировать на наличие негативного тона, прямым текстом. В целом нейросеть хорошо справляется с этой задачей, если правильно составить запрос.
Вы можете самостоятельно поэкспериментировать с запросами в web-интерфейсе, чтобы добиться нужного результата.
Однако для нашей задачи нужно, чтобы на наш запрос приходил четкий однозначный ответ ДА или НЕТ, так как эти ответы мы будем использовать в условиях сценария виджета Триггеры.

Если ответ ДА, то отправляем сообщение в телеграм с текстом сообщения и результатом оценки, если НЕТ, то ничего не делаем.

Текст запроса, который мы использовали в этом кейсе звучит так: Если в этом тексте есть негативный тон, напиши только "ДА", иначе только "НЕТ".
Вы можете самостоятельно подобрать нужный запрос или дополнить этот. Написание правильного запроса для нейросети является основополагающим для решения различных задач анализа и преобразования текстов. Вероятно с этим будут связаны и будущие профессии.
Теперь, как видим, нейросеть отвечаем нам так как надо! В целом этот запрос работает хорошо, но иногда ChatGPT все же пытается вставлять в ответ лишние комментарии, которые от него не требуются. Это не критично для нашей задачи, кроме того запрос можно доработать под себя или задать еще более жесткие условия.

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

После всех экспериментов у нас есть понимание, какой должен быть запрос, какой мы ждем ответ и что делать с этим ответом. Начинаем настраивать виджет Триггеры.
К данному моменту у нас должен быть API ключ OpenAI, который можно взять на странице https://platform.openai.com/account/api-keys. Нажмите на аватарку на сайте Open AI → пункт меню View API Keys.

  • Создайте новый сценарий в Триггерах на событие "Входящее сообщение"
  • В блоке условий добавьте триггер "Отправить Webhook на URL"
  • Применить триггер "В контакте", обязательно!
  • URL: https://api.openai.com/v1/chat/completions
  • Добавляем заголовок: Content-Type = application/json
  • Добавляем заголовок: Authorization = Bearer sk-VpRWej2yGfumw0I5mIf6T3BlbkFJ . Здесь после слова Bearer через пробел нужно вставить свой API ключ.
  • Добавляем тело запроса: model = gpt-3.5-turbo
  • Добавляем тело запроса: messages[0][role] = user
  • Добавляем тело запроса: messages[0][content] = {text} - если в этом тексте есть негативный тон, напиши ДА, иначе НЕТ
  • Метод отправки: POST
Последние 2 строки формируют JSON массив, который отправляется в Open AI. В переменной {text} будет лежать сообщение клиента из чата и вместе запросом " - есть ли негатив..." оно будет отправляться нейросети.
  • "Запустить следующий сценарий при получении ответа": Выберите сценарий, который будет обрабатывать ответ. В нашем случае ответ приходит в переменные {choices_0_message_content}.
Еще вы можете протестировать этот запрос в Postman и увидеть весь ответ.


Иногда нейросеть все же пытается отвечать развернуто вместо ДА или НЕТ. Для более жесткой фиксации ответа, в тело запроса можно добавить сообщение с ролью system, прописав там дополнительное пожелание. Примерно так:

messages[1][role] = system
messages[1][content] = в ответах ты строго обязан использовать только два слова "ДА" или "НЕТ" и не должен ставить знаки препинания
Теперь, если ответ содержит слово «ДА», то скорее всего есть негатив, и это сообщение мы отправляем в специальную группу в Телеграм. Отправка сообщения происходит в сценарии "Пуш в телеграм, если негатив в чате"

В настройках этого сценария мы проверяем переменную {choices_0_message_content} на наличие текста "Да" или "ДА", так как иногда нейросеть может отвечать по разному.
Если условие сработало, то отправляем сообщение в Телеграм.
В триггере отправки сообщения обязательно выберите применить в Контакте.

Текст сообщения с переменными, который падает в чат показан на скрине:
  • Мы добавлаем в него эмоджи, чтобы выделить такие сообщения.
  • Далее идет текст самого сообщения от клиента, которая добавляется через глобальную переменную {Text_message}.
  • Ниже текст ответа от ChatGPT {choices_0_message_content}, который чаще всего содержит только ДА или НЕТ.
  • В конце идет ссылка на контакт, по которой можно провалиться в amoCRM и посмотреть всю переписку.

Итоги работы интеграции

В целом нейросеть помогает успешно выцеплять негативные сообщения от клиентов. Не всегда делает это на 100% правильно, но если бы мы делали это вручную, нам пришлось бы пересматривать несколько тысяч сообщений каждый день.

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

Стоимость пользования ChatGPT

Стоимость зависит от длины сообщения клиента и длины промпта который вы составили. Каждое сообщение (запрос и ответ на него) разбивается на токены. Стоимость 1000 токенов указана на картинке.

В среднем стоимость проверки одного сообщения выходит около 3-5 копеек.

Цены на ChatGPT на картинке
Telegram канал «Команды F5»
Лучшие кейсы автоматизаций, новости о выходе новых виджетов и обновлениях действующих.