Dialogflow es 如何重置参数值,以便代理可以再次请求参数?
我已经创建了一个dialogflow代理和其中的多个意图。一个这样的意图需要两个参数:账户和余额类型。 然后,它发送webhook请求,并在其中写入代码,以检查数据库中是否存在帐号。如果它这样做了,它将获取余额并发送回用户。Dialogflow es 如何重置参数值,以便代理可以再次请求参数?,dialogflow-es,Dialogflow Es,我已经创建了一个dialogflow代理和其中的多个意图。一个这样的意图需要两个参数:账户和余额类型。 然后,它发送webhook请求,并在其中写入代码,以检查数据库中是否存在帐号。如果它这样做了,它将获取余额并发送回用户。 现在,如果账号不存在,我必须要求用户再次输入账号(值为“account”)。你对我如何实现这一目标有什么想法吗?你需要在这里利用上下文。如果先收集帐户参数,则可以按如下方式继续: 为webhook启用插槽填充(可选)。这将在您提供帐号后立即触发webhook意图,您可以在
现在,如果账号不存在,我必须要求用户再次输入账号(值为“account”)。你对我如何实现这一目标有什么想法吗?你需要在这里利用上下文。如果先收集帐户参数,则可以按如下方式继续:
- 为webhook启用插槽填充(可选)。这将在您提供帐号后立即触发webhook意图,您可以在请求帐号类型之前验证它
- 如果不启用插槽填充,您将收集这两个参数,并移动到webhook中的意图处理程序代码
- 确保不要在Dialogflow中设置输出上下文,因为您将从webhook进行设置
- 如果帐户有效-通过设置下一个意图的上下文继续
- 如果无效,请将输出上下文设置为与使用寿命相同的输入上下文,例如2(用于2次对话交互),并要求用户提供正确的帐号
- 当用户再次说出帐号时,将有相同的上下文和相同的用户语音
- 在对话框Flow中为平衡意图设置输出上下文,例如“get_account”寿命=2
- 将帐户意图的输入上下文设置为“get_account”
- 当提供account参数并触发webhook时,验证它
- 如果有效-为下一个目的继续设置上下文
- 如果无效,请将上下文设置为“get_account”寿命=2,并要求再次提供帐号
因此,通过使用上下文,您可以验证参数并重新提示用户输入正确的格式。谢谢!我知道我也想到了同样的方法并尝试过,但我认为代码需要一些时间才能正确反映。所以,一旦你也提到了同样的方法,我再次尝试,并在几次尝试后工作。再次感谢:)