ActionExecutionRejection по умолчанию не создает шаблон с именем utter_ask_{slotname}
, а оставляет логику формы, чтобы позволить другим политикам (например, FallbackPolicy) действовать.utter_ask_{slotname}
является значением по умолчанию для счастливого пути, в котором он пытается получить необходимый слот в первый раз.Эта реализация по умолчанию отклонения действия существует для того, чтобы обрабатывать определенные недовольные пути, например, если пользователь решает выйти из потока, отказываясь от него, или отклоняется в чате, и т. Д.
Если вы хотитереализовать шаблон, чтобы повторно запросить требуемый слот, используя высказывание, вы можете заменить ActionExecutionRejection на dispatcher.utter_template(<desired template name>, tracker)
.Тем не менее, это не даст вам возможности выйти из действия формы без проверки - я не знаю, каковы ваши намерения, но, возможно, вы хотите также включить некоторую логику, основанную на намерении (например, если это что-то вроде «отрицать»)Позвольте ActionExecutionRejection произойти, чтобы он мог завершиться, если это намерение типа «ввод данных», убедитесь, что оно запрашивает снова).