На этой странице объясняется, как создать приложение Google Chat в виде дополнения к Google Workspace, использующего Dialogflow ES для понимания естественного языка и реагирования на него. Вы также можете использовать Dialogflow CX , который напрямую интегрирован с Google Chat, для создания приложения Dialogflow CX Google Chat, следуя руководству по Dialogflow CX Google Chat .
Цели
- Настройте свою среду.
- Создайте и разверните агент Dialogflow ES.
- Создайте и разверните приложение чата на базе агента Dialogflow ES.
- Протестируйте приложение «Чат».
Предпосылки
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Проект Google Cloud с включённым биллингом. Чтобы проверить, включён ли биллинг для существующего проекта, см. раздел Проверка статуса биллинга ваших проектов . Чтобы создать проект и настроить биллинг, см. раздел Создание проекта Google Cloud .
Архитектура
На следующей диаграмме показана архитектура приложения чата, созданного с помощью Dialogflow:
На предыдущей диаграмме пользователь, взаимодействующий с приложением Dialogflow Chat, имеет следующий поток информации:
- Пользователь отправляет сообщение в чате в приложение чата, либо в личном сообщении, либо в чат-пространстве.
- Виртуальный агент Dialogflow, который находится в , получает и обрабатывает сообщение для создания ответа.
- При желании, используя веб-перехватчик Dialogflow , агент Dialogflow может взаимодействовать с внешними сторонними службами, такими как система управления проектами или инструмент управления тикетами.
- Агент Dialogflow отправляет ответ обратно в службу приложения Chat в Chat.
- Ответ отправляется в чат.
Настройте среду
Перед использованием API Google необходимо включить их в проекте Google Cloud. Вы можете включить один или несколько API в одном проекте Google Cloud.В консоли API Google включите API Google Chat и API Dialogflow.
Подтвердите, что вы включаете API в правильном облачном проекте, затем нажмите Далее .
Подтвердите, что вы включаете правильные API, затем нажмите Включить .
Создать агента Dialogflow ES
Если у вас нет существующего агента Dialogflow ES:
- Перейдите в консоль Dialogflow ES .
- Нажмите «Создать агента» .
- Дайте ему имя, выберите язык по умолчанию и часовой пояс.
- Свяжите его с вашим облачным проектом.
- Нажмите «Создать» .
- Создайте свои намерения и сущности, необходимые для чат-процесса вашего приложения. Вы можете начать с приветственного намерения.
- Запишите идентификатор вашего проекта .
Подробное руководство смотрите в разделе Создание агента .
Создайте приложение чата и подключите его к агенту Dialogflow
После создания агента Dialogflow ES выполните следующие действия, чтобы превратить его в приложение чата:
В консоли Google API перейдите в раздел Google Chat API. Найдите «Google Chat API» и нажмите «Google Chat API », затем нажмите «Управление» .
Нажмите «Конфигурация» и настройте приложение чата:
- В поле «Имя приложения» введите
Dialogflow App. - В поле URL аватара введите
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - В поле Описание введите
Responds to real human conversation. - В разделе «Функциональность» выберите Присоединяйтесь к пространствам и групповым беседам .
- В разделе «Настройки подключения» выберите Dialogflow .
- В разделе «Настройки Dialogflow» выберите Dialogflow ES .
- Сделайте это приложение чата доступным для определенных людей и групп в вашем домене и введите свой адрес электронной почты.
- В разделе Журналы выберите Записывать ошибки в Журнал .
- В поле «Имя приложения» введите
Нажмите « Сохранить ».
Приложение Chat готово принимать и отвечать на сообщения в Chat.
Протестируйте приложение чата
Протестируйте приложение Dialogflow ES Chat, отправив ему сообщение в Google Chat.
Откройте Google Chat, используя учетную запись Google Workspace, которую вы указали при добавлении себя в качестве доверенного тестировщика.
- Нажмите новый чат» .
- В поле Добавить 1 или более человек введите название вашего чат-приложения.
Выберите приложение чата из результатов. Откроется личное сообщение.
В новом прямом сообщении с приложением введите
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 позволяет создавать более сложные карточки. Карточка может содержать один или несколько разделов. Каждый раздел может иметь заголовок. Вы можете ознакомиться со справочным руководством по карточкам чата Google Workspace Add-on , чтобы узнать о возможных комбинациях. Однако использование пользовательских полезных нагрузок подразумевает необходимость предоставления формата 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 объекты событий Chat имеют следующие ограничения и особенности:
- События 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 .
- События App Home: Поддержка событий
- Рекомендации по реагированию на команды и получению данных с карточек или диалогов :
- Если агенту Dialogflow необходимо обработать полезную нагрузку JSON события взаимодействия чата , он может сделать это, используя веб-перехватчик Dialogflow для проверки пользовательской полезной нагрузки в параметре запроса.
- Чтобы отобразить диалог из Dialogflow Agent, отправьте ответ с помощью одной пользовательской полезной нагрузки 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: запросы к журналам для получения подробной информации о поведении дополнения, включая его взаимодействие с чатом. См. раздел Журналы запросов для дополнений Google Workspace .
Ошибки приложения Google Chat: общие сообщения об ошибках приложения Chat и способы их устранения см. в разделе Устранение неполадок и исправление ошибок приложения Chat .
История диалогов Dialogflow ES: История | Dialogflow ES
Общие проблемы с устранением неполадок в Dialogflow: Устранение неполадок | Dialogflow
Уборка
Чтобы избежать дополнительных расходов на ваш счет учитывая ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.
- В консоли Google API перейдите на страницу «Управление ресурсами» . Выберите « » > «IAM и администрирование» > «Управление ресурсами» .
- В списке проектов выберите проект, вы хотите удалить, а затем нажмите Удалить .
- В диалоговом окне введите идентификатор проекта, а затем нажмите кнопку «Завершить» , чтобы удалить проект.
Похожие темы
- Dialogflow CX — это еще один способ использования Dialogflow с приложением чата.