Actions on google 仅使用Dialogflow对助手列表中的选项提供不同的响应?

Actions on google 仅使用Dialogflow对助手列表中的选项提供不同的响应?,actions-on-google,dialogflow-es,Actions On Google,Dialogflow Es,我想要一份助手名单,里面有两个选项,苹果和奶酪。我想对选择的每个选项提供不同的响应 我的第一次尝试是对每个项目使用后续意图,但当我这样做时,我在点击/选择项目时会收到一条“未理解”的消息。在阅读更多内容后,我了解到这是因为actions\u intent\u选项事件已触发,没有处理它的意图 我的第二次尝试是将actions\u intent\u选项事件处理程序添加到我的每个后续意图中。当我这样做时,每次只调用Cheese意图。我理解这是因为操作\u意图\u选项只能由单个意图处理 因此,我的结论是

我想要一份助手名单,里面有两个选项,苹果和奶酪。我想对选择的每个选项提供不同的响应

我的第一次尝试是对每个项目使用后续意图,但当我这样做时,我在点击/选择项目时会收到一条“未理解”的消息。在阅读更多内容后,我了解到这是因为
actions\u intent\u选项
事件已触发,没有处理它的意图

我的第二次尝试是将
actions\u intent\u选项
事件处理程序添加到我的每个后续意图中。当我这样做时,每次只调用Cheese意图。我理解这是因为
操作\u意图\u选项
只能由单个意图处理


因此,我的结论是,我可以为助手列表中的不同项目提供不同响应的唯一方法是使用webhook处理此事件,而单独使用Dialogflow是不可能的。如果没有,有人能证实或给我指出正确的方向吗?

遵循以下理想方法:

  • 消除后续意图
  • 添加一个新的意图,事件设置为
    actions\u intent\u选项
  • 为新目的启用webhook
  • 在webhook中,提取所选选项
  • 根据所选选项,传递所需的响应
如果您只想使用Dialogflow,那么它将无法工作!这是因为,当您选择一个选项时,输出上下文和生成的事件都将与两个意图相同-cheese和apple。AI引擎将无法决定应该触发哪个意图。无论意图是什么,每次都会调用它。


我试图重新创建Dialogflow,甚至将奶酪和苹果作为这两个意图的训练短语,只是为了给AI引擎提供一些区别,但它仍然只选择了一个意图。

答案是,正如怀疑的那样,你不能在Dialogflow中使用助手列表,您必须在实现中添加一个处理函数,该函数在事件
操作\u意图\u选项
上触发。例如:

const option=conv.arguments.get('option');
如果(!选项){
conv.ask(“未作出选择”);
}否则如果(选项=='optionA'){
//做点什么
}否则如果(选项=='optionB'){
//做点别的
}