Как проверить значения встроенных слотов на портале разработчиков Amazon? - PullRequest
0 голосов
/ 24 января 2019

Я использую тип слота AMAZON.US_CITY и использую диалоговое управление.Пытаясь проверить значения слотов для встроенного слота, так что любая идея, как это можно сделать?

Я ссылался: https://developer.amazon.com/docs/custom-skills/validate-slot-values.html#configure Я знаю правило проверки, но для встроенного типа слота, онипредоставляют только два варианта 1. Принять только набор значений.2. Отклонить только набор значений.Таким образом, в первом случае он принимает значения, которые соответствуют заданному вами фиксированному набору значений.Во втором случае он отклоняет значения, которые соответствуют заданному вами фиксированному набору значений.Итак, что можно сделать для этого случая?

Как я могу создать правило проверки для удовлетворения моего условия?

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Проверка, которую Alexa предоставляет в консоли разработчика Alexa, более проста, поскольку она полностью управляется на стороне Alexa.

Но на самом деле вы можете управлять всем также с помощью лямбда-функции.Например, если вы используете библиотеку python ask-sdk-core, вы можете перехватить значение слота, проверить его с помощью выбранного вами пользовательского правила, а затем вернуть ElicitSlotDirective, если оно не удовлетворяет ему.

Пример кода:

 if slot_value is not in ['accepted', 'values']:
      prompt = "The slot value is invalid, say something else"
      return handler_input.response_builder.ask(prompt).add_directive(
                ElicitSlotDirective(
                    slot_to_elicit=slot_name
                )).response

Это заставит alexa запрашивать у пользователя другое значение для слота, сохраняя при этом всю другую информацию о намерении, такую ​​как другие слоты, фактическое намерение, sessionId ...

документация здесь и официальный пример alexa на github

0 голосов
/ 24 января 2019

В вашем Skill вы можете добавить validation к Slot:

Выберите слот из намерения

Намерение> ваш слот> проверки

Beloe Image Поможет вам:

enter image description here

...