Google Assistant 的 ActionsSdkApp 和 DialogflowApp 有什么区别
What's the difference between ActionsSdkApp and DialogflowApp for Google Assistant
为了构建 Google 助手应用程序,Google 提供 two different APIs as part of their node.js actions-on-google library :
有一个共同的界面,但我不明白两者之间的区别以及为什么我会使用一个或另一个。
简而言之,这两个对象提供类似(尽管不完全相同)的方法来处理请求并为两种默认方式提供结果Google 允许您为助手构建一个操作。
DialogflowApp
对象是您可能会用于大多数用途的对象。它旨在与 Dialogflow 工具一起使用,让它处理自然语言处理 (NLP) 组件,并在适当的情况下将结果传递给您的 webhook。它提供了一些特定于 Dialogflow 功能(例如上下文)的方法,并将其他内容映射到 Dialogflow 期望的响应格式。
如果您使用自己的 NLP 并且您的 webhook 直接从 Google 获取内容(不使用 Dialogflow),则应使用 ActionsSdkApp
。如果您需要构建 actions.json
文件,则您使用的是 Actions SDK。
两者都有共同的方法和习惯用法,例如 app.ask()
和 app.tell()
以及将 app.data
映射到会话存储等等,即使实现这些的细节对于每个人来说都是不同的类型。
您应该使用与您正在使用的工具相匹配的工具。对于大多数新用户 - 这可能是 Dialogflow 和 DialogflowApp
对象。
更新
注意问题中的API,我的回答中提到的具体对象,具体方法都是针对之前版本库的
当前库中何时使用 ActionSDK 与 Dialogflow 对象的概念仍然成立,因此这个问答背后的概念仍然有效,但技术细节有改变了。
更新 - 2020 年 6 月
有问题的库现已弃用,因为它不再适用于 Google 上的当前版本的 Actions(Actions Builder/SDK AoG v3)。如果您仍在使用 AoG v2 Actions SDK,它仍然适用于 Dialogflow(它使用 AoG v2)。
简单来说
为一次性应用程序使用 Actions SDK。这些应用程序在被调用后直接提供所需的答案,然后停止。他们只给你这个结果。一个典型的例子是将计时器设置为十分钟。
将 Dialogflow 用于所有其他应用程序,对于那些真正对话的应用程序,其中有多个路径可供遵循,并且您希望用户在对话过程中提供更多信息.
为了构建 Google 助手应用程序,Google 提供 two different APIs as part of their node.js actions-on-google library :
有一个共同的界面,但我不明白两者之间的区别以及为什么我会使用一个或另一个。
简而言之,这两个对象提供类似(尽管不完全相同)的方法来处理请求并为两种默认方式提供结果Google 允许您为助手构建一个操作。
DialogflowApp
对象是您可能会用于大多数用途的对象。它旨在与 Dialogflow 工具一起使用,让它处理自然语言处理 (NLP) 组件,并在适当的情况下将结果传递给您的 webhook。它提供了一些特定于 Dialogflow 功能(例如上下文)的方法,并将其他内容映射到 Dialogflow 期望的响应格式。
如果您使用自己的 NLP 并且您的 webhook 直接从 Google 获取内容(不使用 Dialogflow),则应使用 ActionsSdkApp
。如果您需要构建 actions.json
文件,则您使用的是 Actions SDK。
两者都有共同的方法和习惯用法,例如 app.ask()
和 app.tell()
以及将 app.data
映射到会话存储等等,即使实现这些的细节对于每个人来说都是不同的类型。
您应该使用与您正在使用的工具相匹配的工具。对于大多数新用户 - 这可能是 Dialogflow 和 DialogflowApp
对象。
更新
注意问题中的API,我的回答中提到的具体对象,具体方法都是针对之前版本库的
当前库中何时使用 ActionSDK 与 Dialogflow 对象的概念仍然成立,因此这个问答背后的概念仍然有效,但技术细节有改变了。
更新 - 2020 年 6 月
有问题的库现已弃用,因为它不再适用于 Google 上的当前版本的 Actions(Actions Builder/SDK AoG v3)。如果您仍在使用 AoG v2 Actions SDK,它仍然适用于 Dialogflow(它使用 AoG v2)。
简单来说
为一次性应用程序使用 Actions SDK。这些应用程序在被调用后直接提供所需的答案,然后停止。他们只给你这个结果。一个典型的例子是将计时器设置为十分钟。
将 Dialogflow 用于所有其他应用程序,对于那些真正对话的应用程序,其中有多个路径可供遵循,并且您希望用户在对话过程中提供更多信息.