Google Dialogflow это платформа которая позволяет разрабатывать и интегрировать диалоговые интерфейсы в ваши приложения, веб страницы, чат боты и т.д. Пользование платформой бесплатной при условии, что количество запросов не превысит определенный месячный лимит. Я покажу как интегрировать Dialogflow в телеграм чат бота. Это можно сделать двумя способами:

  1. Средствами самого Dialogflow, для этого достаточно ввести токен на панели управления Dialogflow, и у вас сразу появится готовый телеграм бот.
  2. Используя API Dialogflow.

Я использую второй вариант, т.к. мой бот является интерфейсом у Умному дому и Dialogflow не единственный обработчик пользовательских запросов.  За основу возьмём наш эхо бот.

Установим в нашей виртуальной среде пакет So:

pip install google-cloud-dialogflow

Пойдём на  https://dialogflow.cloud.google.com/. И создадим нового агента. После этого можно импортировать одного из готовых агентов от гугла, например болталку. Делается это в разделе Prebuilt Agents. Выберем Small talk.

Теперь получим ключ для нашего агента в виде файла json согласно инструкции.  https://cloud.google.com/dialogflow/es/docs/quick/setup.

Теперь, когда  у нас есть новый агент и ключ к нему можно запускать бота. Код под спойлером.

 

Пример диалога с ботом использующим Google Dialogflow
Пример диалога с ботом использующим Google Dialogflow

Бот будет отвечать одним из готовых сообщений если увидит похожий на один из знакомых запросов. Можете добавить или отредактировать вопросы и ответы под свои задачи. Можно настроить степень близости запроса пользователя и ответа системы. Это насколько могут быть похожи запросы пользователя на запросы в базе агента. По умолчанию в системе установлено значение 0.7. Я использую 0.38.

Так же Dialogflow удобно использовать для “вытаскивания” именованных сущностей из запросов . Таких как имена, географические объекты и т.д. Так же ответ от Dialogflow может содержать данные для синтезатора голоса. В моем проекте с умной колонкой для синтеза голоса и детектирования намерений используется Dialogflow.

 

494

 

Добавить комментарий