Создайте дополнение для Google Chat с помощью Dialogflow ES

На этой странице объясняется, как создать приложение Google Chat в качестве дополнения к Google Workspace, использующее Dialogflow ES для понимания и ответа на естественный язык. Вы также можете использовать Dialogflow CX , который имеет прямую интеграцию с Google Chat, для создания приложения Dialogflow CX Google Chat, следуя руководству по Dialogflow CX Google Chat .

Цели

  • Настройте свою среду.
  • Создайте и разверните агент Dialogflow ES.
  • Создайте и разверните приложение чата на базе агента Dialogflow ES.
  • Протестируйте приложение «Чат».

Предварительные требования

Архитектура

На следующей диаграмме показана архитектура чат-приложения, созданного с помощью Dialogflow:

Архитектура чат-приложения, реализованного с помощью Dialogflow.

На приведенной выше диаграмме показано следующее взаимодействие пользователя с приложением Dialogflow Chat:

  1. Пользователь отправляет сообщение в чате в приложение для чата, либо в личном сообщении, либо в пространстве чата.
  2. Виртуальный агент Dialogflow, который находится в получает и обрабатывает сообщение для формирования ответа.
  3. При желании, используя веб-перехватчик Dialogflow , агент Dialogflow может взаимодействовать с внешними сторонними сервисами, такими как система управления проектами или система обработки заявок.
  4. Агент Dialogflow отправляет ответ обратно в службу приложения Chat в приложении Chat.
  5. Ответ отправляется в чат.

Настройте среду

Перед использованием API Google необходимо включить их в проекте Google Cloud. В одном проекте Google Cloud можно включить один или несколько API.
  1. В консоли Google API включите Google Chat API и Dialogflow API.

    Включите API

  2. Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .

  3. Убедитесь, что вы включаете правильные API, затем нажмите «Включить» .

Создайте агент Dialogflow ES.

Если у вас еще нет агента Dialogflow ES:

  1. Перейдите в консоль Dialogflow ES .
  2. Нажмите «Создать агента» .
  3. Присвойте ему имя, выберите язык по умолчанию и часовой пояс.
  4. Свяжите его со своим облачным проектом.
  5. Нажмите «Создать» .
  6. Создавайте необходимые намерения и сущности для диалогового процесса вашего чат-приложения. Вы можете начать с намерения приветствия.
  7. Запишите идентификатор вашего проекта .

Подробное руководство см. в разделе «Создание агента» .

Создайте приложение для чата и подключите его к агенту Dialogflow.

После создания агента Dialogflow ES выполните следующие шаги, чтобы превратить его в приложение для чата:

  1. В консоли Google API перейдите в раздел Google Chat API. Найдите "Google Chat API", нажмите Google Chat API , а затем нажмите "Управление" .

    Перейти к API чата

  2. Нажмите «Конфигурация» и настройте приложение «Чат»:

    1. В поле «Название приложения» введите Dialogflow App .
    2. В поле "URL аватара" введите https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png .
    3. В поле «Описание» введите Responds to real human conversation .
    4. В разделе «Функциональность» выберите «Присоединяйтесь к пространствам и групповым беседам» .
    5. В разделе «Настройки подключения» выберите Dialogflow .
    6. В настройках Dialogflow выберите Dialogflow ES .
    7. Сделайте это приложение для чата доступным для определенных людей и групп в вашем домене и введите свой адрес электронной почты.
    8. В разделе «Журналы» выберите « Записывать ошибки в журнал» и перейдите в раздел «Ведение журнала» .
  3. Нажмите « Сохранить ».

Приложение «Чат» готово к приему и ответам на сообщения в чате.

Протестируйте приложение для чата

Протестируйте приложение Dialogflow ES Chat, отправив ему сообщение в Google Chat.

  1. Откройте Google Chat, используя учетную запись Google Workspace, которую вы указали при добавлении себя в качестве доверенного тестировщика.

    Перейдите в Google Чат

  2. Нажмите новый чат» .
  3. В поле «Добавить 1 или более человек» введите название вашего приложения для чата.
  4. Выберите ваше приложение для чата из результатов поиска. Откроется личное сообщение.

  5. В новом личном сообщении в приложении напишите Hello и нажмите enter .

    Приложение Dialogflow Chat отвечает приветственным сообщением.

Текстовые ответы

Текстовые ответы отправляются в Google Chat в виде текстовых сообщений . С помощью этого форматирования вы можете сделать текст жирным или курсивным, заключив его в определенные символы (например, Markdown Light).

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

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Карты

Ответы на карточки отправляются в Google Chat в виде сообщений с карточками .

Изображения

Ответы в виде изображений отправляются в Google Chat в виде виджетов изображений Google Chat .

Пользовательская полезная нагрузка

Для отправки других типов сообщений в Google Chat можно использовать пользовательскую полезную нагрузку .

Функция Google Chat Custom Payload позволяет создавать более сложные карточки. Одна карточка может содержать один или несколько разделов. Каждый раздел может иметь заголовок. Вы можете ознакомиться с руководством по расширению возможностей карточек чата в Google Workspace , чтобы увидеть некоторые из комбинаций, которые можно создать с помощью этой функции. Однако использование пользовательских данных означает, что вам потребуется указать формат JSON.

Вот пример пользовательской полезной нагрузки для создания сообщения с карточкой:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

Ограничения и соображения

  • При использовании надстроек Google Workspace с Dialogflow объекты событий чата имеют следующие ограничения и особенности:
    • События App Home: Поддержка событий APP_HOME пока недоступна.
    • Ввод запроса Dialogflow: Текст, отправляемый в качестве входных данных запроса агенту Dialogflow, зависит от типа события:
      • MESSAGE : Значение поля argumentText из сообщения чата.
      • APP_COMMAND : Строка "APP_COMMAND_PAYLOAD" .
      • ADDED_TO_SPACE : Отправляется стандартное приветственное событие .
      • REMOVED_FROM_SPACE : Строка "REMOVED_FROM_SPACE_PAYLOAD" .
      • CARD_CLICKED : Строка "BUTTON_CLICKED_PAYLOAD" .
      • WIDGET_UPDATED : Строка "WIDGET_UPDATED_PAYLOAD" (используется для автозаполнения).
    • Полная полезная нагрузка события: Полная полезная нагрузка JSON события взаимодействия в чате отправляется в Dialogflow в поле WebhookRequest.payload . Вы можете получить к ней доступ в своем веб-хуке Dialogflow. Для получения дополнительной информации см. документацию по запросам веб-хуков Dialogflow ES .
  • Рекомендации по реагированию на команды и получению данных с карточек или диалоговых окон :
  • Предварительный просмотр ссылок не поддерживается.
  • Если агент Dialogflow отвечает только одним сообщением, то это сообщение отправляется в Google Chat синхронно. Если агент Dialogflow отвечает несколькими сообщениями, то все сообщения отправляются в Chat асинхронно путем вызова метода create ресурса spaces.messages в Chat API один раз для каждого сообщения.
  • При использовании интеграции Dialogflow ES с Chat агент Dialogflow и приложение Chat должны быть настроены в одном проекте Google Cloud.

Устранение неполадок

Для отладки вашего чат-приложения начните с анализа журналов ошибок. Поскольку это приложение использует Dialogflow, вам доступны несколько ресурсов для ведения журналов и устранения неполадок:

Уборка

Чтобы избежать дополнительных расходов с вашего счета. Учитывая ресурсы, использованные в этом руководстве, мы рекомендуем удалить проект Cloud.

  1. В консоли Google API перейдите на страницу «Управление ресурсами» > IAM и администрирование > Управление ресурсами .

    Перейдите в Диспетчер ресурсов

  2. В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить .
  3. В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
  • Dialogflow CX — это ещё один способ использовать Dialogflow с приложением для чата.