Статьи

Создание чат-ботов с помощью Dialogflow — пошаговые инструкции

Dialogflow от Google (ранее известный как API.ai) — отличная платформа для разработки чат-ботов для нескольких платформ. Ранее, когда Dialogflow был известен как API.ai, у них была клиентская библиотека Android и iOS для интеграции чат-ботов в мобильные приложения. Но после слияния с Google существующая библиотека не обновляется; скорее мы видим, что Dialogflow добавлен к облачной платформе Google, и разрабатывается новый клиентский API на основе Java.

Dialogflow

В этой статье я покажу вам, как вы можете интегрировать чат-бота, разработанного в Dialogflow, с помощью нового клиентского API Java. 

1. Сначала мы создадим агента Dialogflow, который назовем FirstActionApp.

Пожалуйста, нажмите на эту ссылку .

FirstActionApp

FirstActionApp

Примечание. Dialogflow V1 API будет закрыт 31 марта 2020 года.

Итак, мы создаем приложение Dialogflow с версией API V2. Учетная запись службы в этом образе используется для создания учетных данных для API клиента Java.

V2 API

V2 API

Для создания чат-бота с API V1 мы используем токен клиентского доступа, который используется для интеграции клиентской библиотеки Android. Для создания чат-бота с V2 API нам нужно использовать служебную учетную запись.

  • Выберите ваше приложение.

Выберите приложение

Выберите приложение
  • Создайте новый ключ с интеграциями Dialogflow и загрузите созданный файл JSON.

2. Теперь мы создадим Intents и Entities для обучения агента.

Intents

Intents

Дорожки

Дорожки

  • Добавление синонимов для записи значений трека.

Добавление треков

Добавление треков

Создать параметр для выборки трека

Создать параметр для выборки трека

  • Создайте параметр для извлечения трека.

Создать ответы

Создать ответы

Добавить ответы

Добавить ответы

  • Разрешить вызовы webhook развертывают код через веб-сервис для предоставления данных пользователю.

Добавить веб-хук

Добавить веб-хук

По умолчанию ваш агент отвечает на согласованное намерение статическим ответом. Если вы используете один из вариантов интеграции, вы можете предоставить более динамичный ответ, используя выполнение. Когда вы включаете выполнение для намерения, Dialogflow отвечает на это намерение, вызывая определенную вами службу. Например, если конечный пользователь хочет запланировать стрижку на пятницу, ваша служба может проверить вашу базу данных и ответить конечному пользователю с информацией о доступности на пятницу.

  1. Конечный пользователь печатает или говорит выражение.

  2. Диалоговый поток сопоставляет выражение конечного пользователя с намерением и извлекает параметры.

  3. Dialogflow отправляет сообщение о запросе webhook в службу webhook. Это сообщение содержит информацию о согласованном намерении, действии, параметрах и ответе, определенном для намерения.

  4. Ваш сервис выполняет необходимые действия, такие как запросы к базе данных или внешние вызовы API.

  5. Ваша служба отправляет ответное сообщение webhook в Dialog Flow. Это сообщение содержит ответ, который должен быть отправлен конечному пользователю.

  6. Dialogflow отправляет ответ конечному пользователю.

  7. Конечный пользователь видит или слышит ответ.

3. Создайте выполнение облачной функции для обработки запроса webhook. На основании обнаруженного номера дорожки пользователю будет отправлен соответствующий ответ.

Выполнение облачной функции

Выполнение облачной функции

Консоль Dialogflow имеет встроенный редактор кода, называемый встроенным редактором, который можно использовать для создания кода выполнения и развертывания кода в функциях Clout для Firebase. Встроенный редактор предназначен для простого тестирования выполнения и создания прототипов. Когда вы будете готовы создать производственное приложение, вы должны создать сервис webhook.

4. Теперь наш агент готов, и теперь мы интегрируем его в приложение для Android. В build.gradle (приложение) мы добавим зависимости как для клиентской библиотеки Android, так и для клиентского API Java, так как мы будем разрабатывать для обоих.


Джава