我写信给你问一个关于Dialogflow履行的问题 .

我正在尝试为Google Home创建代理,而我的后端基本上是在TypeScript中实现的Web钩子 .

在我设计的对话中,用户请求代理执行操作,提供 category 作为参数 . 现在,可能的类别集可能随时间而变化,因此我使用实体类型@sys.any来检测参数 .

我的问题是,在实现时我尝试识别代理需要采取行动的特定类别,可能是请求的参数匹配 multiple cateogries ,所以我需要一个后续意图来询问用户澄清哪个是它想要选择的实际类别 .

例如 . 对话可能如下:

Agent: 'Welcome.'
User:  'Do action on **category**'
Agent: 'I have found **categoryA**, **categoryB** and **categoryC**. Please specify which one you want to select.'
User:  'Select the second || Select **categoryB**'
Agent: 'Great, action performed on **categoryB**'

现在,我能够使用后续事件和上下文构建此对话:例如,我创建了两个后续事件,一个用于检测数字,另一个用于检测文本,因此用户可以根据其所说的内容进行操作(如果用户说'第一个',则检测到一个数字,并在后端我循环选择与该索引相关联的类别 . 如果用户说“categoryX”,但在不同的意图内,我会做类似的操作) .

我想要了解的是:通过Node.js履行API实现这种对话的正确方法是什么?

感谢您的任何帮助 .