有一些方法可以验证用户输入并再次请求(通过Webhook或意图),例如询问用户1到10之间的数字,以及用户输入的是大还是小,要求他输入另一个直到这个范围内的数字?
答案 0 :(得分:1)
在设计Dialogflow对话时,需要研究意图的概念。当意图匹配时,这可以调用一个称为实现的组件,该组件将传递用户提供的信息。例如,如果用户说“将值设置为7”,则它将(也许)与实体参数值为“ 7”的名为“ set_value”的意图匹配。然后,您编写的实现逻辑将接收此数据并进行处理。根据提供的数据,它可以检测到参数(数字)超出范围,并可以动态响应并显示该数字无效的指示,然后要求用户重试。
这是Configure fulfillment上的文档。我的建议是研究这一领域。调用实现时您所做出的响应完全取决于您自己的处理,而不是“静态”响应,否则会在不使用实现的情况下发生。
答案 1 :(得分:0)
让我们假设意图名称是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
中,如果逻辑上
数字较小/较大,请在输出上下文中设置此数字并回复
用户。
希望有帮助。