我写信给你是想问一个关于 Dialogflow 实现的问题。
我正在尝试为 Google Home 创建一个代理,而我的后端基本上是一个用 TypeScript 实现的网络挂钩。
在我设计的对话中,用户请求代理执行一个动作,并提供一个类别作为参数。现在,可能的类别集可能会随时间而变化,因此我使用实体类型@sys.any来检测参数。
我的问题是,当我尝试确定代理需要采取行动的特定类别时,请求的参数可能与多个类别匹配,所以我需要一个后续意图来询问用户澄清它想要选择的实际类别。
例如,对话可能如下:
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 实现这种对话的正确方法是什么?
感谢您的任何帮助。