Определить действия (диалоговый поток)

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

  • Действие по умолчанию : каждый агент Dialogflow должен иметь одно и только одно действие, которое вызывается, когда пользователи запрашивают ваше действие по имени (например, «О'кей, Google. Поговорите с фактами о Google» или «Окей, Google. Позвольте мне поговорить с фактами о Google»). " ).
  • Дополнительные намерения для создания глубокой ссылки на ваш разговор . Эти действия запускаются, когда пользователи вызывают ваше действие по его имени и указывают фразу вызова (например, «поговорите с Фактами о Google, чтобы узнать исторические факты» ).

Дополнительные сведения о том, как работают эти модели вызова, см. в разделе «Намерения и вызов» .

Определить действие по умолчанию

Каждый агент Dialogflow должен иметь одно и только одно намерение, обрабатывающее событие GOOGLE_ASSISTANT_WELCOME . Это намерение срабатывает, когда пользователи вызывают ваше действие по его названию (например, «Окей, Google, поговорим с Фактами о Google» ).

Событие GOOGLE_ASSISTANT_WELCOME можно определить следующими способами:

Из редактора намерений в консоли Dialogflow:

  1. Нажмите «Намерения» в меню навигации.
  2. Выберите намерение, которое вы хотите установить в качестве приветственного события.
  3. В разделе «События» намерения введите GOOGLE_ASSISTANT_WELCOME .
  4. Нажмите Сохранить .

    Рисунок 1 . Снимок экрана раздела «События» намерения Dialogflow.

В модальном окне интеграции с Google Assistant:

  1. Нажмите «Интеграции» в меню навигации и выберите «Google Ассистент» .
  2. Нажмите X , чтобы удалить текущий элемент в поле Явный вызов .
  3. В поле «Намерение приветствия» выберите намерение, которое вы хотите установить в качестве приветственного события.

    Фигура 2 . Скриншот модального окна интеграции с Google Assistant в консоли Dialogflow.

Просматривая раздел « События » намерения, вы должны увидеть, что для намерения теперь установлен набор событий GOOGLE_ASSISTANT_WELCOME (см. рис. 1 ).

Включить выполнение

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

Чтобы включить исполнение намерения, сделайте следующее:

  1. Прокрутите вниз редактор намерений.
  2. Нажмите «Выполнение» и выберите «Включить вызов веб-перехватчика для этого намерения ».

    Рисунок 3 . Снимок экрана раздела «Выполнение» намерения Dialogflow.

См. раздел «Выполнение сборки» для получения информации о том, как обрабатывать это намерение, когда оно срабатывает.

Определить дополнительные действия

Вы можете предоставить дополнительные действия, которые станут точками входа в ваш разговор. Эта настройка позволяет пользователям указать более подробную информацию о том, что они хотят сделать (например, «Поговорите с Facts about Google, чтобы найти исторические факты» ).

Чтобы определить дополнительные действия в Dialogflow, выполните следующие действия:

  1. Создайте намерение для конкретного Действия, которое вы хотите создать.
  2. В разделе «Обучающие фразы» намерения укажите шаблоны, которые запускают это действие. Например, если вы хотите, чтобы действие вызывалось фразой «Поговорите с фактами о Google, чтобы найти исторические факты» , укажите следующие фразы обучения :

    • «Найди мне исторические факты»
    • «Изучите исторические факты»
    • «Достаньте мне факты об истории компании»
    • «Прочитай мне некоторые факты о штаб-квартире»
    • «Расскажите мне несколько фактов о его штаб-квартире»

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

  3. Чтобы включить выполнение намерения, прокрутите экран вниз, нажмите «Выполнение » и выберите «Включить вызов веб-перехватчика для этого намерения ». (Более подробную информацию о выполнении см. в разделе «Выполнение сборки».)

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

  5. Нажмите «Интеграции» в меню навигации и выберите «Google Ассистент» . (появится модальное окно Google Assistant.)

  6. В разделе «Неявный вызов» добавьте намерение.

    Рисунок 4 . Скриншот раздела «Неявный вызов» в модальном окне интеграции с Google Assistant.

При определении действий применяются следующие ограничения и рекомендации:

  • Не включайте зарезервированные слова во фразы вызова.
    • Например, не начинайте свои призывные фразы со слов «поговори» или «позволь мне поговорить».
  • Не указывайте обучающие фразы, содержащие только сущность @sys.any .
    • Будьте гораздо более конкретными; например, find recipes for @sys.any .

Обработка нераспознанного действия

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

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

  1. В меню навигации нажмите «Намерения» .
  2. Нажмите «Создать намерение» и назовите свое намерение.
  3. В разделе «Контексты» укажите google_assistant_welcome в качестве контекста ввода и нажмите клавишу ввода. (После ввода входного контекста google_assistant_welcome появляется в качестве выходного контекста).
  4. Нажмите x , чтобы удалить этот выходной контекст.

  5. В Тренировочные фразы добавьте banana (или любое другое существительное) в качестве пользовательского выражения.

  6. Дважды щелкните банан и выберите @sys.any . (Мы используем сущность @sys.any , чтобы указать Dialogflow обобщить выражение на любую грамматику, а не только на банан .)

  7. В разделе «Ответ» укажите ответы, используя $any . Например, используйте следующий ответ:

    • I'm sorry, I don't know how to help with $any.

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