На этой странице рассказывается, как создать приложение Google Chat в виде дополнения Google Workspace, которое использует Dialogflow ES для понимания естественного языка и ответа на нем. Вы также можете использовать Dialogflow CX, который напрямую интегрирован с Google Chat, чтобы создать приложение Dialogflow CX для Google Chat, следуя руководству по Dialogflow CX для Google Chat.
Цели
- Настройте среду.
- Создайте и разверните агента Dialogflow ES.
- Создайте и разверните приложение Chat на основе агента Dialogflow ES.
- Проверьте приложение Chat.
Требования
- Аккаунт Google Workspace версии Business или Enterprise с доступом к Google Chat.
- Проект Google Cloud с включенной оплатой. Чтобы проверить, включены ли платежные функции для существующего проекта, следуйте инструкциям в разделе Как проверить статус платежей для проектов. Чтобы создать проект и настроить оплату, ознакомьтесь со статьей Как создать проект Google Cloud.
Архитектура
На приведенной ниже схеме показана архитектура приложения Chat, созданного с помощью Dialogflow.
На приведенной выше схеме пользователь, взаимодействующий с чат-ботом Dialogflow, получает информацию следующим образом:
- Пользователь отправляет сообщение в Chat приложению Chat в прямой переписке или чат-группе.
- Виртуальный агент Dialogflow, который находится в , получает и обрабатывает сообщение, чтобы создать ответ.
- При необходимости агент Dialogflow может взаимодействовать с внешними сторонними сервисами, например системой управления проектами или инструментом для создания заявок, с помощью веб-перехватчика Dialogflow.
- Агент Dialogflow отправляет ответ обратно в сервис приложения Chat в Chat.
- Ответ будет отправлен в чат-группу.
Как настроить среду
Прежде чем использовать API Google, их нужно включить в облачном проекте Google Cloud. В одном облачном проекте Google Cloud можно включить один или несколько API.В Google API Console включите Google Chat API и Dialogflow API.
Убедитесь, что вы включаете API в нужном облачном проекте, и нажмите Далее.
Убедитесь, что вы включаете нужные API, и нажмите Включить.
Как создать агента Dialogflow ES
Если у вас нет агента Dialogflow ES:
- Откройте консоль Dialogflow ES.
- Нажмите Создать агента.
- Укажите название, язык по умолчанию и часовой пояс.
- Свяжите его с облачным проектом.
- Нажмите Создать.
- Создайте намерения и сущности, необходимые для диалога в чат-приложении. Начните с намерения "Приветствие".
- Запишите идентификатор проекта.
Подробное руководство можно найти в разделе Создание агента.
Как создать приложение Chat и подключить его к агенту Dialogflow
После создания агента Dialogflow ES выполните следующие действия, чтобы превратить его в приложение для чата:
В Google API Console перейдите к Google Chat API. Выполните поиск по запросу "Google Chat API" и нажмите Google Chat API, а затем Управление.
Нажмите Настройки и настройте приложение Chat:
- В поле Название приложения введите
Dialogflow App. - В поле URL аватара введите
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - В поле Описание введите
Responds to real human conversation. - В разделе Функциональность выберите Присоединяться к чат-группам и групповым чатам.
- В разделе Настройки подключения выберите Dialogflow.
- В разделе Настройки Dialogflow выберите Dialogflow ES.
- Предоставьте доступ к приложению "Чат" определенным пользователям и группам в домене и введите свой адрес электронной почты.
- В разделе Журналы выберите Регистрировать ошибки в Logging.
- В поле Название приложения введите
Нажмите Сохранить.
Приложение Chat готово получать сообщения и отвечать на них.
Как протестировать приложение Chat
Протестируйте приложение Dialogflow ES Chat, отправив ему сообщение в Google Chat.
Откройте Google Chat, используя аккаунт Google Workspace, который вы указали, когда добавляли себя в качестве доверенного тестировщика.
- Нажмите Новый чат.
- В поле Добавьте одного или нескольких пользователей введите название приложения Chat.
Выберите приложение Chat в результатах поиска. Откроется прямая переписка.
В новой прямой переписке с приложением введите
Helloи нажмитеenter.Приложение Dialogflow Chat ответит приветственным сообщением.
Текстовые ответы
Текстовые ответы отправляются в Google Chat в виде текстовых сообщений. С помощью форматирования можно сделать текст полужирным или курсивом, заключив его в определенные символы (облегченная разметка Markdown).
Ответ на текстовое сообщение выглядит так же, как ответ по умолчанию в консоли 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 позволяет создавать более сложные карточки. Одна карточка может содержать один или несколько разделов. У каждого раздела может быть заголовок. В справочном руководстве по картам Chat, созданным с помощью дополнений 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 объекты событий чата имеют следующие ограничения и особенности:
- События в приложении 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. Подробнее о запросах webhook в Dialogflow ES…
- События в приложении Home. Поддержка событий
- Что нужно учитывать при обработке команд и получении данных из карточек или диалоговых окон:
- Если агенту Dialogflow нужно обработать полезную нагрузку JSON события взаимодействия с чатом, он может сделать это с помощью веб-перехватчика Dialogflow, чтобы проверить пользовательскую полезную нагрузку в параметре запроса.
- Чтобы показать диалоговое окно из агента Dialogflow, ответьте одним специальным объектом JSON, который содержит объект
RenderActionsс навигациейpushCard. - Чтобы обрабатывать данные, введенные в карточки, можно использовать веб-перехватчик Dialogflow и отвечать с помощью одной специальной полезной нагрузки JSON, содержащей подходящее действие.
- Предварительный просмотр ссылок не поддерживается.
- Если агент Dialogflow отвечает одним сообщением, оно отправляется в Google Chat синхронно. Если агент Dialogflow отвечает несколькими сообщениями, все они отправляются в Chat асинхронно с помощью метода
createресурсаspaces.messagesв Chat API. Метод вызывается один раз для каждого сообщения. - При использовании интеграции Dialogflow ES с Chat агент Dialogflow и приложение Chat должны быть настроены в одном и том же облачном проекте Google Cloud.
Устранение неполадок
Чтобы отладить приложение Chat, сначала проверьте журналы ошибок. Поскольку в этом приложении используется Dialogflow, вам доступны следующие ресурсы для ведения журналов и устранения неполадок:
Журналы дополнений Google Workspace. Запрашивайте журналы, чтобы получить подробную информацию о поведении дополнения, в том числе о его взаимодействии с Chat. Подробнее о запросах к журналам в дополнениях Google Workspace…
Ошибки приложения Google Chat. Общие сообщения об ошибках в приложении Chat и способы их устранения описаны в статье Как устранять ошибки приложения Chat.
История чатов Dialogflow ES: История | Dialogflow ES
Общие сведения об устранении неполадок в Dialogflow: Устранение неполадок | Dialogflow
Организовать
Чтобы с вашего аккаунта не списывались средства за ресурсы, использованные в этом руководстве, рекомендуем удалить облачный проект.
- В Google API Console перейдите на страницу Управление ресурсами. Нажмите Меню > IAM и администрирование > Управление ресурсами.
- В списке проектов выберите проект, который хотите удалить, и нажмите Удалить .
- В диалоговом окне введите идентификатор проекта и нажмите Закрыть, чтобы удалить проект.
Статьи по теме
- Dialogflow CX – это ещё один способ использовать Dialogflow с приложением Chat.