На этой странице объясняется, как создать приложение Google Chat, которое может понимать естественный язык и отвечать на него с помощью Dialogflow . В этом руководстве используется Dialogflow CX , который имеет прямую интеграцию с Google Chat. Вы также можете использовать Dialogflow ES для создания приложения Google Chat Dialogflow ES, следуя руководству Dialogflow ES Google Chat .
Например, рассмотрим приложение чата, которое помогает людям арендовать автомобили. Пользователь может написать: «Я хотел бы арендовать автомобиль». Приложение чата может ответить вопросом типа «Где вы хотите забрать автомобиль?» который начинает человеческий разговор с пользователем, в котором приложение чата одновременно понимает и отвечает человеческой речью при бронировании аренды автомобиля.
Это всего лишь один пример. Приложения Dialogflow Chat полезны во всех видах взаимодействия. Если для этого требуется естественная человеческая речь, требуется приложение Dialogflow Chat. Готовые агенты помогут вам быстро приступить к работе и продемонстрируют возможности Dialogflow, например:
- Забронировать авиабилеты
- Записаться на прием к врачу
- Заказать доставку еды
- Отвечайте на вопросы о каталоге розничной продукции, например, доступны ли товары в других цветах.
Рис. 2. Тестирование агента в Dialogflow CX, чтобы убедиться, что логика и конфигурация агента работают должным образом. На диаграмме показан последовательный набор тематических страниц, которые касаются конкретных шагов в диалоге, например, установка места получения и возврата арендованного автомобиля, а также настройка логики, которая их связывает. Разговор тестируется на симуляторе. Рисунок 3. Настройка приложения Chat для обработки ответов с помощью агента Dialogflow CX на странице конфигурации Chat API в консоли Google Cloud. Рисунок 4. Разговор о бронировании аренды автомобиля с помощью приложения Dialogflow Chat в Google Chat.
Цели
- Настройте свою среду.
- Создайте и разверните агент Dialogflow CX.
- Создайте и разверните приложение чата на базе агента Dialogflow CX.
- Протестируйте приложение Чат.
Предварительные условия
- Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
- Проект Google Cloud с включенной оплатой. Чтобы проверить, включена ли оплата для существующего проекта, см. раздел Проверка статуса выставления счетов ваших проектов . Инструкции по созданию проекта и настройке оплаты см. в разделе Создание проекта Google Cloud .
Архитектура
На следующей схеме показана архитектура приложения Chat, созданного с помощью Dialogflow:
На предыдущей диаграмме пользователь, взаимодействующий с приложением Dialogflow Chat, имеет следующий поток информации:
- Пользователь отправляет сообщение в Chat в приложение Chat либо в прямом сообщении, либо в чат-группе.
- Виртуальный агент Dialogflow, расположенный в Google Cloud, получает и обрабатывает сообщение для получения ответа.
- При желании, используя вебхук Dialogflow , агент Dialogflow может взаимодействовать с внешними сторонними сервисами, такими как система управления проектами или инструмент для продажи билетов.
- Агент Dialogflow отправляет ответ обратно в службу приложения Chat.
- Ответ доставляется в чат.
Настройте среду
Прежде чем использовать API Google, вам необходимо включить их в проекте Google Cloud. Вы можете включить один или несколько API в одном проекте Google Cloud.В консоли Google Cloud включите API Google Chat и API Dialogflow.
Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .
Убедитесь, что вы включаете правильные API, затем нажмите « Включить» .
Создайте агент Dialogflow CX
Агент Dialogflow CX — это виртуальный агент, который обрабатывает одновременные разговоры с вашими конечными пользователями. Это модуль понимания естественного языка, который понимает нюансы человеческого языка. Dialogflow преобразует текст конечного пользователя во время разговора в структурированные данные, понятные вашим приложениям и службам. Вы проектируете и создаете агент Dialogflow для обработки типов диалогов, необходимых для вашей системы.
Агент Dialogflow похож на агента колл-центра. Вы обучаете их обоих справляться с ожидаемыми сценариями разговора, и ваше обучение не должно быть слишком явным.
Вот как создать агент Dialogflow CX:
В консоли Dialogflow CX откройте консоль Dialogflow CX. Нажмите Меню > Dialogflow CX
Выберите проект Google Cloud. Чтобы найти свой проект, вам может потребоваться нажать «Все» , а затем выполнить поиск.
Теперь у вас есть возможность выбрать готовый агент или создать свой собственный. Если вы предпочитаете подробно изучить настройку агента позже, выберите один из готовых агентов , которые также помогут узнать, на что способны агенты.
Чтобы выбрать готовый агент, выполните следующие действия:
- Щелкните Использовать готовые агенты .
Выберите готовый агент. Для этого руководства выберите Путешествие: прокат автомобилей .
Агенты оцениваются как начинающие, средние и продвинутые в зависимости от того, сколько функций использует агент, а также от сложности логики его разговора. Выбор агента среднего или расширенного уровня может потребовать настройки и настройки для конкретного агента, включая включение функций и API в консоли Google Cloud.
Нажмите Импортировать как агента .
Чтобы создать собственного агента, выполните следующие действия:
- Нажмите Создать агента .
- Выберите «Создать автоматически» , чтобы создать агент хранилища данных , или выберите «Создать собственный» , чтобы создать агенты других типов.
Подробное описание процесса создания агента см. в разделе Создание агента Dialogflow CX .
Настройте основные параметры агента:
- В поле «Отображаемое имя» введите отображаемое имя.
- Выберите желаемое местоположение . Если вы хотите изменить дополнительные настройки местоположения , нажмите «Изменить» .
- Выберите предпочитаемый часовой пояс.
- Выберите язык по умолчанию для вашего агента. Вы не можете изменить язык по умолчанию для агента после создания.
Нажмите Создать . Dialogflow CX начинает создание агента, а затем отображает поток запуска агента по умолчанию.
При необходимости настройте агента. Подробное описание процесса настройки агента см. в разделе Создание агента Dialogflow CX .
Рекомендуется протестировать агент:
- Нажмите Агент тестирования .
- Выберите Агент тестирования в среде .
- В разделе «Среда» выберите «Черновик» .
- В разделе «Поток» выберите «Начать поток по умолчанию» .
- В разделе «Страница» выберите «Начальная страница» .
- На панели создания сообщения с агентом введите
Hello
и нажмите Enter . Агент отвечает, представляясь. - Завершите тест, проведя образец тестового разговора .
Агент Dialogflow CX создан. Вернитесь в консоль Dialogflow CX. Нажмите Меню > Dialogflow CX
В разделе «Агенты» нажмите > Копировать имя . Сохраните это имя, так как вы будете использовать его при настройке приложения Chat.
Создайте приложение чата и подключите его к агенту Dialogflow.
После создания агента Dialogflow CX выполните следующие действия, чтобы превратить его в приложение чата:
В консоли Google Cloud перейдите к 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
. - В разделе «Функциональность» выберите «Получать сообщения 1:1» и «Присоединяться к группам и групповым беседам» .
- В разделе «Настройки подключения » выберите «Dialogflow» .
- В настройках Dialogflow выберите Dialogflow CX .
- В поле «Имя ресурса агента или среды» вставьте имя агента Dialogflow CX, которое вы скопировали в конце раздела «Создание агента Dialogflow CX» .
- Сделайте это приложение чата доступным для определенных людей и групп в вашем домене и введите свой адрес электронной почты.
- В разделе «Журналы» выберите «Записывать ошибки в журнал» .
- В поле «Имя приложения» введите
Нажмите Сохранить .
Приложение Chat готово получать сообщения в Chat и отвечать на них.
Протестируйте приложение Чат
Протестируйте приложение Dialogflow CX Chat, отправив ему сообщение в Google Chat.
Откройте Google Chat, используя учетную запись Google Workspace, которую вы указали при добавлении себя в качестве доверенного тестировщика.
- Нажмите новый чат» .
- В поле «Добавить 1 или несколько человек» введите название вашего приложения чата.
Выберите приложение чата из результатов. Откроется прямое сообщение.
В новом прямом сообщении с приложением введите
Hello
и нажмитеenter
.Приложение Dialogflow Chat отвечает, представляясь.
- Завершите тест, проведя образец тестового разговора .
Пример тестового разговора
Чтобы протестировать приложение Dialogflow CX Chat в консоли Dialogflow CX или в Google Chat, проведите следующий разговор. Объяснение поможет вам понять, как агент Dialogflow CX интерпретирует естественный язык пользователя и выдает собственный ответ на естественном языке на каждом этапе разговора. Этот пример разговора основан на предварительно созданном агенте под названием «Путешествия: прокат автомобилей» .
Диалог | Объяснение |
---|---|
Конечный пользователь: Здравствуйте. Агент: Привет! Я виртуальный агент по прокату автомобилей. Я могу помочь вам забронировать новый автомобиль напрокат. Как я могу помочь вам сегодня? |
|
Конечный пользователь: Я хотел бы арендовать автомобиль. Агент: Где бы вы хотели забрать автомобиль? |
|
Конечный пользователь: Лас-Вегас Агент: Хорошо, ваш пикап будет в Лас-Вегасе. Агент: Место высадки отличается от места получения? |
|
Конечный пользователь: Да. Я верну машину в Лос-Анджелесе. Агент: Хорошо, вы прибудете в Лос-Анджелес. Агент: В какой день и время вы хотели бы забрать автомобиль? |
|
Конечный пользователь: Я хотел бы забрать машину 5 марта в полдень. Агент: В какой день и время вы хотели бы оставить автомобиль? |
|
Конечный пользователь: 15 марта в полдень. Агент: Итак, чтобы подтвердить: Вы заберете автомобиль в Лас-Вегасе 05.03.2024, 12:00:00 и вернете его в Лос-Анджелесе, 15.03.2024, 12:00:00. Это звучит правильно? |
|
Конечный пользователь: Да, спасибо. Агент: Отлично! Теперь давайте выберем транспортное средство. Агент: Вам нужен автомобиль эконом-класса или люкс-класса? |
|
Конечный пользователь: Экономьте, пожалуйста. Агент: Вам нужна машина с тарелками или грузовик с тарелками? |
|
Конечный пользователь: Cymbal Truck. Агент: Грузовик с тарелками стоит 50,33 доллара в день. Он вмещает 4 человек и оснащен AM/FM-радио. Хотите перейти к оплате? Конечный пользователь: Да, пожалуйста. |
|
Агент: Какой тип карты вы будете использовать? Конечный пользователь: Альтострат Агент: Пожалуйста, введите номер карты. Конечный пользователь: 1234 1234 1234 1234 Агент: Какое имя на карточке? Конечный пользователь: Чарли Агент: Какой адрес для выставления счета? Конечный пользователь: бул. Амфибия, 1800. Маунтин-Вью, Калифорния Агент: Какой почтовый индекс для выставления счетов? Конечный пользователь: 94045 Агент: Вы заберете тарелку в Лас-Вегасе 05.03.2024, 12:00:00, и отвезете ее, 15.03.2024, 12:00:00. Общая стоимость этой поездки составит $175,38. Агент: Спасибо, что арендовали у нас, и хорошего вам дня! |
|
Отправка карточных сообщений из Dialogflow
Dialogflow может отвечать текстовыми сообщениями или карточками . Чтобы ответить сообщением с карточкой, укажите его в качестве пользовательской полезной нагрузки при выполнении .
Следующий JSON показывает, как отправить карточное сообщение в качестве пользовательской полезной нагрузки при выполнении:
JSON
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
Ограничения и соображения
- События взаимодействия в чате имеют ограниченную поддержку и некоторые соображения:
- Поддерживаются следующие типы событий взаимодействия :
-
MESSAGE
-
ADDED_TO_SPACE
-
CARD_CLICKED
-
- Для событий
MESSAGE
илиADDED_TO_SPACE
входные данные запроса, отправляемые агенту Dialogflow, соответствуют значению поляargumentText
в сообщении чата. Если сообщение содержит косую черту , вместо нее используется значениеtext
поля. - Для событий
CARD_CLICKED
входные данные запроса, отправляемые агенту Dialogflow, форматируются какCARD_CLICKED.functionName
, гдеfunctionName
соответствует значениюfunction
поля объекта Action , прикрепленного к элементу интерактивной карты (например, кнопке). - Полные полезные данные JSON каждого события взаимодействия в чате отправляются в Dialogflow в качестве настраиваемых полезных данных в параметре запроса, и к ним можно получить доступ с помощью веб-перехватчика Dialogflow, запросив значение поля
WebhookRequest.payload
.
- Поддерживаются следующие типы событий взаимодействия :
- Рекомендации по реагированию на команды слэша и получению данных из карточек или диалогов :
- Когда приложения Dialogflow Chat получают сообщение с косой чертой, входные данные запроса содержат только значение
text
поля.text
поле начинается с имени команды с косой чертой (например,/command
), которую можно использовать для настройки намерения агента Dialogflow обнаруживать команду с косой чертой. - Если агенту Dialogflow необходимо обработать полезные данные JSON события взаимодействия в чате , он может сделать это с помощью веб-перехватчика Dialogflow для проверки настраиваемых полезных данных в параметре запроса.
- Чтобы отобразить диалоговое окно от агента Dialogflow, ответьте одной пользовательской полезной нагрузкой JSON, которая включает сообщение, содержащее ответ на действие
DIALOG
. - Для обработки данных, введенных с карточек, агент Dialogflow может обнаруживать намерения, начинающиеся с текста
CARD_CLICKED
, и отвечать одной пользовательской полезной нагрузкой JSON, содержащей соответствующее действие .
- Когда приложения Dialogflow Chat получают сообщение с косой чертой, входные данные запроса содержат только значение
- Предварительный просмотр ссылок не поддерживается.
- Если агент Dialogflow отвечает только одним сообщением, оно отправляется в Google Chat синхронно. Если агент Dialogflow отвечает несколькими сообщениями, все сообщения отправляются в Chat асинхронно путем вызова метода
create
для ресурсаspaces.messages
в Chat API один раз для каждого сообщения. - При использовании интеграции Dialogflow CX с Chat агент Dialogflow и приложение Chat должны быть настроены в одном проекте Google Cloud. Если вам нужно настроить Dialogflow и Chat в разных облачных проектах, вы можете настроить промежуточный сервер для облегчения соединения. Чтобы узнать, как это сделать, см. этот пример интеграции Chat для Dialogflow CX на GitHub.
Устранение неполадок
Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.
Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .
Очистить
Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» . Нажмите Меню > IAM и администрирование > ресурсами .
- В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить .
- В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.
Связанные темы
- Dialogflow CX использует подход к разработке агента Dialogflow на основе конечного автомата , который дает вам четкий и явный контроль над диалогом, улучшенное взаимодействие с конечными пользователями и улучшенный рабочий процесс разработки. При создании приложения Dialogflow Chat мы рекомендуем использовать Dialogflow CX.
- Дополнительные сведения о создании и настройке агентов см. в разделе Агенты Dialogflow CX .
- Подробное пошаговое руководство по созданию и настройке агентов см. в разделе Создание агента Dialogflow CX .
- Создание приложений для Google Chat с помощью Gemini . Codelab: пример создания агента хранилища данных Dialogflow CX см. в приложении Chat базы знаний из Codelab.
- Создание приложений для Google Chat с помощью Gemini . Codelab: пример создания диалогового агента Dialogflow CX см. в приложении Chat для обратной связи из лаборатории CodeBuild.
- Dialogflow ES — это еще один способ использования Dialogflow с приложением чата.