На этой странице объясняется, как создать приложение Google Chat в качестве дополнения к Google Workspace, использующее Dialogflow ES для понимания и ответа на естественный язык. Вы также можете использовать Dialogflow CX , который имеет прямую интеграцию с Google Chat, для создания приложения Dialogflow CX Google Chat, следуя руководству по Dialogflow CX Google Chat .
Цели
- Настройте свою среду.
- Создайте и разверните агент Dialogflow ES.
- Создайте и разверните приложение чата на базе агента Dialogflow ES.
- Протестируйте приложение «Чат».
Предварительные требования
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Проект Google Cloud с включенной оплатой. Чтобы проверить, включена ли оплата в существующем проекте, см. раздел «Проверка статуса оплаты ваших проектов ». Чтобы создать проект и настроить оплату, см. раздел «Создание проекта Google Cloud» .
Архитектура
На следующей диаграмме показана архитектура чат-приложения, созданного с помощью Dialogflow:
На приведенной выше диаграмме показано следующее взаимодействие пользователя с приложением Dialogflow Chat:
- Пользователь отправляет сообщение в чате в приложение для чата, либо в личном сообщении, либо в пространстве чата.
- Виртуальный агент Dialogflow, который находится в получает и обрабатывает сообщение для формирования ответа.
- При желании, используя веб-перехватчик Dialogflow , агент Dialogflow может взаимодействовать с внешними сторонними сервисами, такими как система управления проектами или система обработки заявок.
- Агент Dialogflow отправляет ответ обратно в службу приложения Chat в приложении Chat.
- Ответ отправляется в чат.
Настройте среду
Перед использованием API Google необходимо включить их в проекте Google Cloud. В одном проекте Google Cloud можно включить один или несколько API.В консоли Google API включите Google Chat API и Dialogflow API.
Убедитесь, что вы включаете 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 .
- Сделайте это приложение для чата доступным для определенных людей и групп в вашем домене и введите свой адрес электронной почты.
- В разделе «Журналы» выберите « Записывать ошибки в журнал» и перейдите в раздел «Ведение журнала» .
- В поле «Название приложения» введите
Нажмите « Сохранить ».
Приложение «Чат» готово к приему и ответам на сообщения в чате.
Протестируйте приложение для чата
Протестируйте приложение 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 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 .
- События App 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.
Устранение неполадок
Для отладки вашего чат-приложения начните с анализа журналов ошибок. Поскольку это приложение использует Dialogflow, вам доступны несколько ресурсов для ведения журналов и устранения неполадок:
Журналы надстройки Google Workspace: Запросите журналы для получения подробной информации о поведении надстройки, включая ее взаимодействие с чатом. См. Запрос журналов для надстроек Google Workspace .
Ошибки приложения Google Chat: Общие сообщения об ошибках приложения Chat и способы их устранения см. в разделе «Устранение неполадок и исправление ошибок приложения Chat» .
История переписки в Dialogflow ES: История | Dialogflow ES
Общие рекомендации по устранению неполадок Dialogflow: Поиск и устранение неисправностей | Dialogflow
Уборка
Чтобы избежать дополнительных расходов с вашего счета. Учитывая ресурсы, использованные в этом руководстве, мы рекомендуем удалить проект Cloud.
- В консоли Google API перейдите на страницу «Управление ресурсами» > IAM и администрирование > Управление ресурсами .
- В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
Связанные темы
- Dialogflow CX — это ещё один способ использовать Dialogflow с приложением для чата.