Как условно получить многооборотный диалог Alexa - PullRequest
0 голосов
/ 25 марта 2020

У меня есть требование клиента, которое требует условного запроса от Alexa. По сути, пользователь будет ask {intent} {utterance}, бэкэнд проверит свою учетную запись, чтобы увидеть, есть ли у него более одного элемента в списке; если это так, он спросит "какой пункт 1 или пункт 2". Они должны будут ответить 1 или 2.

Если в их списке есть только один элемент, он будет по умолчанию для этого элемента и не потребует ввода от пользователя.

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

Возможно ли это? Если да, можете ли вы указать (на высоком уровне, конечно), какие шаги мне следует предпринять?

Примечание. К сожалению, одним из требований является то, что конечные точки должны обрабатываться в Azure; поэтому я должен использовать Alexa. NET вместо типичных SDK. Не уверен, что это что-то меняет.

1 Ответ

1 голос
/ 26 марта 2020

Обработка диалога Да, это возможно.

После того, как вы:

  • спросите {намерение} {высказывание}
  • оно ударит вас бэкэнд с dialogState STARTED
    • теперь вы можете проверить, есть ли у вас несколько элементов
      • да (несколько элементов): делегат обработка диалога назад к alexa и alexa будет попросите номер слота. Теперь вы проверяете, есть ли dialogState = COMPLETED и т. Д.
      • нет (только один элемент): просто ответьте пользователю без делегирования диалога

SDK

Это не имеет значения для Alexa. NET, если там реализована обработка диалога. Я также иногда пытаюсь найти примеры для Java SDK; -).

Вот видео , которое мне помогло.

...