Проверка ввода пользователя в диалоге - PullRequest
1 голос
/ 14 мая 2019

Есть некоторый способ проверить ввод пользователя и запросить его снова, через webhook или по намерениям, например, запросить у пользователя число от 1 до 10, и если пользователь вводит больший или меньший, попросите его ввести другойчисло до числа это в этом диапазоне?

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Когда вы разрабатываете диалогический диалог, необходимо изучить концепцию намерений. Когда намерение соответствует, это может вызвать компонент, называемый выполнением, которому передается информация, предоставленная пользователем. Например, если пользователь говорит «Установите значение равным 7», то это будет соответствовать (возможно) намерению с именем «set_value» со значением параметра сущности «7». Логика выполнения, которую вы пишете, получит эти данные и обработает их. На основании предоставленных данных он может обнаружить, что параметр (число) выходит за пределы допустимого диапазона, и может динамически ответить с указанием, что число недопустимо, и попросить пользователя повторить попытку.

Вот документация по Настройка выполнения . Я рекомендую изучить эту область. То, с чем вы отвечаете при вызове выполнения, полностью зависит от вашей собственной обработки и не является «статическим» ответом, как это было бы в противном случае без использования выполнения.

0 голосов
/ 14 мая 2019

Давайте предположим, что имя намерения равно ask_number, который запрашивает у пользователя число от 1 до 10.

Это может быть достигнуто несколькими способами:

  • Еслиу намерения ask_number уже определен некоторый входной контекст , затем вам нужно снова установить этот контекст как output_context и ответить что-то вроде you have entered a smaller/bigger number, please enter again.

  • Если у намерения нет входного контекста, вы можете просто ответить you have entered a smaller/bigger number, please enter again, и ваше намерение должно быть в состоянии это уловить.Но это также может вызвать проблемы.

  • Я бы порекомендовал иметь другое намерение ask_number_followup с input_context number_validation_failed в логике, если число меньше / большеВы устанавливаете это в контексте вывода и отвечаете пользователю.

Надеюсь, это поможет.

...