有某种方法可以验证用户输入并通过webhook或意图再次请求,例如向用户询问1到10的数字,如果用户输入较大或更大或一个较小的人要求他输入另一个数字,直到这个数字在此范围内?
设计对话流对话时,需要研究意图的概念。匹配意图时,可以调用一个称为履行的组件,该组件通过用户提供的信息传递。例如,如果用户说"将值设置为7",则将(也许(与称为" set_value"的意图匹配,其实体参数值为" 7"。您编写的履行逻辑将接收此数据并处理它。根据所提供的数据,它可以检测到参数(一个数字(超出范围,并且可以动态响应以表明该数字无效,并要求用户再次尝试。
这是有关配置履行的文档。我的建议是研究该领域。您在调用履行时做出的响应完全取决于您自己的处理,而不是"静态"响应,否则在不使用实现的情况下会发生。
让我们假设意图名称是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
,在逻辑中数字较小/较大您在输出上下文中设置此并回复用户。
希望它有帮助。