Создание агента RBM на базе Dialogflow (базовый уровень)

В этой лабораторной работе вы узнаете, как использовать Dialogflow для создания диалогового интерфейса для включения агента RBM без написания кода.

Что вы собираетесь создавать в этой кодлабе?

  • Агент Dialogflow, поддерживающий диалог агента RBM.
  • Диалоговый интерфейс для вымышленной пиццерии, который отправляет пользователям предложение о скидке и позволяет им ознакомиться с меню ресторана.

Что вы узнаете

  • Как использовать основную конструкцию намерения Dialogflow для создания диалогового интерфейса
  • Как создать типы ответов RBM из Dialogflow, чтобы предоставить пользователям богатый опыт RBM.

Что вам понадобится

  • Ваш аккаунт Google платформы RBM

Создайте и запросите своего первого агента

Продолжительность: 30:00

Создайте свой первый агент Dialogflow

Чтобы создать агент Dialogflow:

  1. Откройте новую вкладку и войдите в Dialogflow .
  2. Нажмите Создать агента в левой панели навигации.

  3. Введите «CodelabRBMPizzaPlace» в качестве имени вашего агента, «English» в качестве языка по умолчанию и установите часовой пояс по умолчанию на свой часовой пояс.

  4. Щелкните Создать .

Консоль диалогового потока

Теперь вы должны увидеть консоль Dialogflow. Если вы работаете на меньшем экране и левая панель навигации скрыта, нажмите кнопку навигации в верхнем левом углу. Кнопка настроек позволяет перейти к настройкам текущего агента.

В середине страницы показан список намерений для агента. По умолчанию агенты Dialogflow запускаются с двумя намерениями. Ваш агент соответствует резервному намерению по умолчанию , когда он не понимает, что говорят ваши пользователи. Приветственное намерение по умолчанию приветствует ваших пользователей. Вы можете изменить эти намерения, чтобы настроить взаимодействие.

Справа — симулятор Dialogflow. Это позволяет вам опробовать своего агента, говоря или печатая сообщения.

Запрос вашего агента

Агенты Dialogflow лучше всего описываются как модули NLU (Natural Language Understanding). Их можно включить в ваше приложение, продукт или услугу, чтобы преобразовать естественные запросы пользователей в данные, которые можно использовать.

Пора попробовать своего агента! В симуляторе справа щелкните текстовое поле с надписью « Попробовать сейчас », введите «Привет» и нажмите Enter.

Dialogflow идентифицирует запрос, соответствует намерению приветствия по умолчанию и отвечает общим приветствием. Это работает, потому что Dialogflow автоматически обучает намерение приветствия по умолчанию с некоторыми примерами приветствия.

Создать агента RBM

Войдите в консоль разработчика Business Communications , затем щелкните Создать агента .

В поле «Имя» введите «Пиццерия вашего имени» (например, «Пиццерия Шона»), выберите регион и нажмите « Создать агента» .

Подключите своего агента RBM к Dialogflow

После создания агента RBM щелкните его, чтобы просмотреть страницу обзора агента. Щелкните ссылку « Интеграции » в левой панели навигации.

По умолчанию агент RBM использует Google Cloud Pub/Sub для обработки пользовательских сообщений. Чтобы подключить агент RBM к агенту Dialogflow, который вы создали ранее, щелкните интеграцию Dialogflow .

В диалоговом окне нажмите Подключить существующую модель . Следуйте инструкциям, чтобы предоставить вашему агенту RBM разрешения на вызов вашего агента Dialogflow. Когда вы выполнили инструкции, нажмите « Далее ».

Наконец, вам нужно указать идентификатор проекта Dialogflow. На вкладке браузера, отличной от консоли разработчика Business Communications, перейдите к Dialogflow и откройте созданный ранее агент CodelabRBMPizzaPlace. Щелкните значок шестеренки рядом с названием проекта в левой панели навигации.

Нажав на нее, вы попадете в настройки модели. В разделе GOOGLE PROJECT найдите и скопируйте идентификатор проекта .

Вернитесь на свою вкладку с открытой консолью разработчика Business Communications, вставьте идентификатор проекта в диалоговое окно и нажмите « Начать интеграцию » .

Этот процесс занимает около двух минут. После завершения вы должны увидеть выделенную опцию интеграции Dialogflow и доступную ссылку « Просмотреть агент» .

Все сообщения от вашего агента теперь обрабатываются агентом CodelabRBMPizzaPlace Dialogflow.

Пригласите свое тестовое устройство и отправьте сообщение

Прежде чем погрузиться в Dialogflow, давайте настроим ваше тестовое устройство. Если у вас еще нет устройства, способного принимать сообщения RBM, следуйте этому руководству , чтобы подготовить свое устройство.

В консоли разработчика Business Communications щелкните Устройства в левой области навигации. В форме введите полный номер телефона вашего устройства в формате E.164 (например, +12223334444) и нажмите Добавить .

На ваше устройство вы получите тестовое приглашение. Коснитесь Сделать меня тестировщиком .

В браузере найдите свое устройство в списке устройств и отправьте ему тестовое сообщение. Если вы получили сообщение на свое устройство от агента RBM, все готово для продолжения работы с этой лабораторией кода.

Создание приветственного намерения

Обычно с агентом RBM на базе Dialogflow, чтобы начать разговор, вы делаете вызов API, который указывает номер телефона пользователя и намерение Dialogflow, с которого начинается разговор (обычно приветственное намерение вашего агента). Для этой лаборатории кода мы пропустим этот шаг и вместо этого воспользуемся диалоговым потоком, который мы уже создали на предыдущем шаге с тестовым устройством из консоли разработчика Business Communications. Однако, если вы хотите узнать больше об этой функции API, ознакомьтесь с этим руководством .

Давайте начнем с добавления ответов RBM в намерение приветствия по умолчанию , чтобы Dialogflow мог использовать его с вашим агентом RBM. Сначала перейдите на вкладку браузера, на которой открыт Dialogflow. Щелкните ссылку « Намерения» в левой панели навигации. Удалите образец простого «Текстового ответа», щелкнув корзину в правом верхнем углу. Затем нажмите « Приветствие по умолчанию », прокрутите вниз до раздела « Ответы », нажмите « + » в списке типов ответов и выберите RCS Business Messaging (RBM) .

Нажмите «Добавить ответы » и выберите «Простой ответ ». В текстовом поле для простого ответа введите «Ознакомьтесь с предложением дня в Sean's Pizza Place! Купите любую 12-дюймовую пиццу и получите одну БЕСПЛАТНО!» (замените Шона своим именем), затем нажмите «Сохранить » .

Начало разговора

Теперь, когда у вас настроено приветственное намерение, вернитесь к своему тестовому устройству и отправьте сообщение «Привет». Это сообщение вызывает намерение приветствия по умолчанию , и вы должны увидеть что-то похожее на изображение ниже.

Обновите приветственное намерение

Теперь, когда у вас есть Dialogflow, отправляющий простое сообщение, давайте изменим его, чтобы сделать его более убедительным. Мы не только хотим отправить сообщение о сделке дня, но и отправить изображение, чтобы соблазнить принимающего пользователя и дать им некоторые другие действия, которые они могут пожелать предпринять.

Давайте заменим наше простое сообщение с рекламой пиццы на карточку, содержащую изображение и предлагающую варианты просмотра полного меню и веб-сайта ресторана.

В разделе « Ответы приветствия по умолчанию » выберите вкладку RCS Business Messaging (RBM) . Обновите существующий текст простого ответа на «Добро пожаловать в пиццерию Шона. Ознакомьтесь с сегодняшним рекламным предложением!». Затем нажмите «Добавить ответы » и выберите «Автономная расширенная карта » .

В форме Standalone Rich Card введите следующее:

  • Название карты : Купите любую 12-дюймовую пиццу и получите одну БЕСПЛАТНО!
  • Описание карты : Покажите это сообщение в любом месте, участвующем в акции, чтобы воспользоваться этим предложением. Предложение действует до 17 февраля.
  • Выберите ориентацию карты : вертикальная
  • URL-адрес изображения/видео : https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Выберите высоту носителя : средний

Нажмите « Добавить предложение» и введите следующее:

  • Текст предложения : Меню просмотра
  • Постбэк предложения : answer_view_menu

Добавьте действие «Открыть URL-адрес», нажав « Добавить предложение », а затем выбрав «Действие по открытию URL-адреса» в раскрывающемся списке и введя следующее:

  • Текст предложения : Посмотреть веб-сайт
  • Постбэк предложения : answer_view_website
  • URL для открытия : https://www.google.com (или любой действительный URL)

Нажмите Сохранить .

Попробуйте!

Как только модель скажет «Обучение агента завершено», вернитесь к своему устройству и отправьте сообщение «Привет» своему агенту. Теперь вы должны увидеть Простой ответ , за которым следует Автономная расширенная карточка , которую вы только что создали.

Попробуйте нажать меню «Вид» . Обратите внимание, что срабатывает резервное намерение по умолчанию . Это связано с тем, что ваш агент Dialogflow не знает, как обрабатывать данные обратной передачи, которые вы настроили для этого предложения, «reply_view_menu».

Давайте исправим это.

Создание намерения вашего меню

Dialogflow использует намерения для классификации намерений пользователя. У намерений есть обучающие фразы, которые являются примерами того, что пользователь может сказать вашему агенту. Например, кто-то, желающий узнать меню, может спросить: «Какое у вас меню?», «Что я могу поесть?» или «Что я могу заказать?».

Все эти запросы уникальны, но имеют одну цель: получить информацию о меню.

Чтобы покрыть этот запрос, создайте намерение «Меню»:

  1. В левой навигационной панели нажмите + рядом с Intents .
  2. В поле Имя намерения введите «Меню».
  3. В разделе « Тренировочные фразы » нажмите « Добавить выражение пользователя » и введите следующее, нажимая клавишу «Ввод» после каждого ввода:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    Эта последняя обучающая фраза используется для сопоставления данных обратной передачи, которые вы настроили в предыдущем разделе с этой целью.

В ответ на это намерение мы создадим карусель, отображающую различные параметры меню. Для более крупного меню вы можете указать ссылку на веб-сайт или поделиться одним изображением меню.

  1. В разделе « Ответы » нажмите + и выберите RCS Business Messaging (RBM) .
  2. Нажмите «Добавить ответы» и выберите Carousel Rich Card .
  3. Установите для параметра « Выбрать ширину карты » значение « Средняя ».
  4. Под параметром ширины дважды нажмите « Добавить карту ». Это увеличивает количество карт до 4.
  5. В карточке 1 введите следующее:
    • Название карты : Колбаса и пепперони
    • Описание карты : Колбаса, пепперони, оливки и зеленый перец.
    • URL-адрес изображения/видео : https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. В карточке 3 введите следующее:
    • Название карты : итальянский
    • Описание карты : Томатный соус, сыр и колбаса.
    • URL-адрес изображения/видео : https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. В карточке 2 введите следующее:
    • Название карты : Маргарита
    • Описание карты : помидоры Сан-Марцано, сыр моцарелла, свежий базилик, соль и оливковое масло первого отжима.
    • URL-адрес изображения/видео : https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. В карточке 4 введите следующее:
    • Название карты : Верховный
    • Описание карты : колбаса, пепперони, гамбургер, канадский бекон, лук, оливки, грибы и зеленый перец.
    • URL-адрес изображения/видео : https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

После карточных элементов нам также нужно предоставить пользователю возможность продолжить разговор. Для этого нажмите « Добавить ответы », выберите « Простой ответ » и введите текст «Хотите сделать что-нибудь еще?».

В простом ответе нажмите « Добавить предложение » и введите следующее:

  • Текст предложения : Посмотреть продвижение
  • Постбэк предложения : привет

Нажмите Сохранить .

Попробуйте!

Теперь попробуйте попросить меню у своего агента. На вашем устройстве в разговоре с агентом RBM введите «Что в меню?» и отправьте сообщение своему агенту.

Теперь ваш агент правильно отвечает на запрос. Обратите внимание, что даже несмотря на то, что ваш запрос немного отличался от обучающей фразы («Что в меню?» по сравнению с «Какое у вас меню?»), Dialogflow все же сопоставил запрос с правильным намерением. Вы также можете попробовать нажать пункт меню «Вид » в расширенной карточке.

Dialogflow использует обучающие фразы в качестве примеров для модели машинного обучения, чтобы сопоставлять запросы пользователей с правильными намерениями. Модель машинного обучения проверяет соответствие запроса каждому намерению в агенте, каждому намерению присваивается оценка, и сопоставляется намерение с наивысшей оценкой. Если намерение с наивысшей оценкой имеет очень низкий балл, резервное намерение соответствует.

Захват намерений без ответа

Вы почти закончили, но нам нужно сделать еще одну вещь. Если вы вернетесь к своему тестовому устройству и коснетесь предложения « Просмотреть веб -сайт» в исходной расширенной карточке, вы заметите, что при нажатии на это предложение не только открывается соответствующий URL-адрес, но вы также получаете сообщение, вызванное резервным намерением по умолчанию .

Это связано с тем, что действие « Открыть URL -адрес» отправляет текст обратной передачи «reply_view_website» в Dialogflow, когда вы касаетесь действия, и Dialogflow сопоставляет это с резервным намерением по умолчанию .

Чтобы захватить данные постбэка без немедленного ответа на него, мы создадим интент с обучающими фразами, которые соответствуют данным постбека, и удалим все ответы на интент. Dialogflow сопоставит данные обратной передачи с намерением, но не ответит, потому что у намерения нет определенных ответов.

Создание намерения «Нет ответа»

Чтобы скрыть действия, которые вы хотите игнорировать, создайте намерение «Нет ответа»:

  1. В левой навигационной панели нажмите + рядом с Intents .
  2. В поле Имя намерения введите «Нет ответа».
  3. В разделе « Тренировочные фразы » нажмите « Добавить выражение пользователя » и введите следующее, нажимая клавишу «Ввод» после каждого ввода:
    • reply_view_website
  4. Прокрутите вниз до раздела « Ответы » и удалите все ответы с помощью значка корзины.

Нажмите Сохранить .

Попробуйте!

На вашем устройстве в беседе для вашего агента RBM введите «привет» и отправьте сообщение своему агенту. Это активирует рекламное предложение из приветственного намерения по умолчанию . Щелкните предложение «Просмотр веб-сайта» и убедитесь, что веб-сайт открывается в браузере, а ответ агента не отправляется.

Готово!

Продолжительность: 1:00

Хорошо сделано!

Вы прошли все этапы создания простого агента RBM на базе Dialogflow.

Если вы хотите узнать больше, ознакомьтесь с нашей расширенной лабораторией кода .

Получайте удовольствие от разработки для этой захватывающей новой платформы!