验证对话流中的用户输入



有某种方法可以验证用户输入并通过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,在逻辑中数字较小/较大您在输出上下文中设置此并回复用户。

希望它有帮助。

最新更新