为了构建 Google Assistant 应用程序,Google 提供了两个不同的 API 作为其 node.js actions-on-google 库的一部分 https://developers.google.com/actions/reference/nodejs/AssistantApp :
- Actions SDK应用程序 https://developers.google.com/actions/reference/nodejs/ActionsSdkApp
- 对话流应用程序 https://developers.google.com/actions/reference/nodejs/DialogflowApp
有一个通用的界面,但我不明白两者之间有什么区别以及为什么我要使用其中之一。
简而言之,这两个对象提供了类似(尽管不相同)的方法来处理请求,并为 Google 允许您为助手构建操作的两种默认方式提供结果。
The DialogflowApp
对象是您可能会用于大多数目的的对象。它旨在与 Dialogflow 工具配合使用,让它处理自然语言处理 (NLP) 组件,并在适当的情况下将结果传递到您的 Webhook。它提供了一些特定于 Dialogflow 功能的方法,例如上下文,并将其他内容映射到 Dialogflow 期望的响应格式。
The ActionsSdkApp
如果您使用自己的 NLP 并且您的 webhook 直接从 Google 获取内容(不使用 Dialogflow),则应使用此选项。如果您需要构建一个actions.json
文件,表明您正在使用 Actions SDK。
两者都有共同的方法和习惯用法,比如app.ask()
and app.tell()
和测绘app.data
会话存储等,即使每种类型的实现细节都不同。
您应该使用与您正在使用的工具相匹配的工具。对于大多数新用户 - 这可能是 Dialogflow 和DialogflowApp
object.
Update
请注意,问题中的 API、询问的具体对象以及我的回答中谈到的具体方法均适用于该库的先前版本。
The concept何时使用当前库中的 ActionSDK 与 Dialogflow 对象仍然有效,因此此问题和答案背后的概念仍然有效,但技术细节已发生变化。
更新 - 2020 年 6 月
该库现已弃用,因为它不再适用于当前版本的 Actions on Google(Actions Builder/SDK AoG v3)。如果您仍在使用 AoG v2 Actions SDK,它仍然可以与 Dialogflow(使用 AoG v2)配合使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)