На этой странице объясняется, как создать приложение Google Chat, которое понимает естественный язык и отвечает на него, используя Dialogflow . В этом руководстве используется Dialogflow CX , который напрямую интегрирован с Google Chat. Вы также можете использовать Dialogflow ES для создания приложения Dialogflow ES Google Chat, следуя руководству по Dialogflow ES Google Chat .
Например, представьте себе чат-приложение, которое помогает людям арендовать автомобили. Пользователь может написать: «Я хочу арендовать автомобиль». Чат-приложение может ответить вопросом вроде: «Где вы хотите забрать автомобиль?», что послужит началом диалога с пользователем, в котором чат-приложение понимает речь и отвечает ей при бронировании автомобиля.
Это лишь один пример. Приложения Dialogflow Chat полезны для любого вида взаимодействия. Если требуется естественная человеческая речь, вам понадобится приложение Dialogflow Chat. Готовые агенты помогут вам быстро начать работу и продемонстрируют возможности Dialogflow, например:
- Забронировать авиабилеты
- Запишитесь на прием к врачу
- Заказать доставку еды
- Ответьте на вопросы о каталоге розничной продукции, например, доступны ли товары в других цветах.
Рисунок 1. Выбор готового агента для приложения Dialogflow Chat. Рисунок 2. Тестирование агента в Dialogflow CX для проверки логики и конфигурации агента. На схеме показан последовательный набор тематических страниц, относящихся к конкретным этапам диалога, например, выбору места получения и возврата арендованного автомобиля, а также настройка логики, связывающей их. Диалог тестируется в симуляторе. Рисунок 3. Настройка приложения чата для обработки ответов с помощью агента Dialogflow CX на странице конфигурации API чата в консоли Google Cloud. Рисунок 4. Обсуждение бронирования автомобиля в аренду с помощью приложения Dialogflow Chat в Google Chat.
Цели
- Настройте свою среду.
- Создайте и разверните агента Dialogflow CX.
- Создайте и разверните приложение чата на базе агента Dialogflow CX.
- Протестируйте приложение «Чат».
Предпосылки
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Проект Google Cloud с включённым биллингом. Чтобы проверить, включён ли биллинг для существующего проекта, см. раздел Проверка статуса биллинга ваших проектов . Чтобы создать проект и настроить биллинг, см. раздел Создание проекта Google Cloud .
Архитектура
На следующей диаграмме показана архитектура приложения чата, созданного с помощью Dialogflow:
На предыдущей диаграмме пользователь, взаимодействующий с приложением Dialogflow Chat, имеет следующий поток информации:
- Пользователь отправляет сообщение в чате в приложение чата, либо в личном сообщении, либо в чат-пространстве.
- Виртуальный агент Dialogflow, который находится в Google Cloud, получает и обрабатывает сообщение для создания ответа.
- При желании, используя веб-перехватчик Dialogflow , агент Dialogflow может взаимодействовать с внешними сторонними службами, такими как система управления проектами или инструмент управления тикетами.
- Агент Dialogflow отправляет ответ обратно в службу приложения Chat в 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 .
Выберите проект Google Cloud. Чтобы найти свой проект, вам может потребоваться нажать «Все» и выполнить поиск.
Теперь у вас есть возможность выбрать готовый агент или создать свой собственный. Если вы предпочитаете подробно изучить настройку агента позже, выберите один из готовых агентов . Они также помогут вам узнать о его возможностях.
Чтобы выбрать готовый агент, выполните следующие действия:
- Нажмите Использовать готовые агенты .
Выберите готового агента. Для этого руководства выберите «Путешествия: аренда автомобилей» .
Агенты оцениваются как начинающие, средние и продвинутые в зависимости от количества используемых функций и сложности логики диалога. Выбор среднего или продвинутого уровня может потребовать специальных настроек, включая включение функций и API в консоли Google Cloud.
Нажмите Импортировать как агента .
Чтобы создать собственного агента, выполните следующие действия:
- Нажмите Создать агента .
- Выберите «Автоматически сгенерировать» , чтобы создать агент хранилища данных , или выберите «Создать свой собственный» , чтобы создать другие типы агентов.
Подробную инструкцию по созданию агента см. в разделе Создание агента Dialogflow CX .
Настройте основные параметры агента:
- В поле Отображаемое имя введите отображаемое имя.
- Выберите предпочитаемое местоположение . Если вы хотите изменить дополнительные настройки местоположения , нажмите «Изменить» .
- Выберите предпочитаемый вами часовой пояс.
- Выберите язык по умолчанию для вашего агента. После создания агента изменить язык по умолчанию невозможно.
Нажмите кнопку «Создать» . Dialogflow CX начнет создание агента, а затем отобразит начальный поток агента по умолчанию.
При необходимости настройте агента. Подробное описание процесса настройки агента см. в статье Создание агента Dialogflow CX .
В качестве наилучшей практики протестируйте агента:
- Нажмите Тестовый агент .
- Выберите Тестовый агент в среде .
- В разделе Окружение выберите Черновик .
- В разделе «Поток» выберите «Начать поток по умолчанию» .
- В разделе «Страница» выберите «Начальная страница» .
- В строке «Поговорить с агентом» введите
Hello
и нажмите Enter . Агент ответит, представившись. - Завершите тест, проведя тестовую беседу .
Агент Dialogflow CX создан. Вернитесь в консоль Dialogflow CX. Выберите « Меню > «Dialogflow CX» .
В разделе «Агенты» нажмите > Копировать имя . Сохраните это имя, так как оно будет использоваться при настройке приложения «Чат».
Создайте приложение чата и подключите его к агенту 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
. - В разделе «Функциональность» выберите Присоединяйтесь к пространствам и групповым беседам .
- В разделе «Настройки подключения» выберите 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 интерпретирует естественный язык пользователя и генерирует собственные ответы на естественном языке на каждом этапе диалога. Этот пример диалога основан на готовом агенте Travel: car rental .
Диалог | Объяснение |
---|---|
Конечный пользователь: Здравствуйте Агент: Здравствуйте! Я виртуальный агент по аренде автомобилей. Я могу помочь вам оформить новое бронирование. Чем я могу вам помочь сегодня? |
|
Конечный пользователь: Я хотел бы арендовать автомобиль. Агент: Где бы вы хотели забрать автомобиль? |
|
Конечный пользователь: Лас-Вегас Агент: Хорошо, вас заберут из Лас-Вегаса. Агент: Отличается ли место высадки от места получения? |
|
Конечный пользователь: Да. Я оставлю машину в Лос-Анджелесе. Агент: Хорошо, вас высадят в Лос-Анджелесе. Агент: В какую дату и время вы хотели бы забрать автомобиль? |
|
Конечный пользователь: Я хотел бы забрать автомобиль 5 марта в полдень. Агент: В какую дату и время вы хотели бы сдать автомобиль? |
|
Конечный пользователь: 15 марта в полдень. Агент: Итак, для подтверждения: Вы заберете автомобиль в Лас-Вегасе 05.03.2024 в 12:00:00 и вернете его в Лос-Анджелесе 15.03.2024 в 12:00:00. Звучит верно? |
|
Конечный пользователь: Да, спасибо. Агент: Отлично! Теперь давайте выберем автомобиль. Агент: Вам нужен автомобиль эконом-класса или класса люкс? |
|
Конечный пользователь: Экономьте, пожалуйста. Агент: Вам нужна машина с тарелками или грузовик с тарелками? |
|
Конечный пользователь: Cymbal Truck. Агент: Стоимость аренды Cymbal Truck составляет 50,33 доллара в сутки. Вмещает 4 человек и оснащена радиоприемником AM/FM. Хотите перейти к оплате? Конечный пользователь: Да, пожалуйста. |
|
Агент: Какой тип карты вы будете использовать? Конечный пользователь: Altostrat Агент: Пожалуйста, введите номер карты. Конечный пользователь: 1234 1234 1234 1234 Агент: Какое имя на карточке? Конечный пользователь: Чарли Агент: Укажите адрес для выставления счета. Конечный пользователь: 1800 Amphibious Blvd., Маунтин-Вью, Калифорния Агент: Какой почтовый индекс указан в счете? Конечный пользователь: 94045 Агент: Вы заберёте Cymbal Car в Лас-Вегасе 05.03.2024 в 12:00 и вернёте его 15.03.2024 в 12: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
в сообщении Chat. Если сообщение содержит команду с косой чертой , вместо него используется значение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 Agent, отправьте ответ с помощью одной пользовательской полезной нагрузки 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 в разных проектах Google Cloud, вы можете настроить промежуточный сервер для обеспечения подключения. Чтобы узнать, как это сделать, ознакомьтесь с этим примером интеграции Chat для Dialogflow CX на GitHub.
Устранение неполадок
Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так» или «Не удалось обработать ваш запрос». Иногда в интерфейсе 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 см. в приложении Knowledge Chat из codelab
- Build apps for Google Chat with Gemini . Codelab: Пример создания диалогового агента Dialogflow CX см. в приложении Feedback Chat из codelab
- Dialogflow ES — это еще один способ использования Dialogflow с приложением чата.