Google 助手哪个更好用? Actions SDK 或 JSON 请求响应
Which is better to use for Google Assistant? Actions SDK or JSON request response
我已经使用 JSON 请求和响应 V2 在 Google Assistant 上构建了多个操作,但我听说应该首选使用 Actions SDK 专门为 Google Assistant 构建操作.我很困惑是使用 Actions SDK 还是 JSON 请求响应?
例如 - 在这个 link 上,每个示例代码都有两个选项卡,Node.js 使用 Actions SDK 和 JSON 使用 JSON 请求响应。
在哪些情况下应该首选哪一个?
谢谢!
让我们先看看这些选项卡的含义,然后讨论您的最佳方法应该是什么。
node.js 对比 JSON 选项卡
"node.js" 选项卡显示使用 actions-on-google 库的代码。在大多数情况下,如果您使用 Action SDK 或使用 Dialogflow 来实现,则此库使用相同的代码。在存在差异的地方,文档确实说明了您必须如何处理它们 - 当涉及到您必须如何处理响应时尤其如此。
"JSON" 选项卡显示了如果您不使用 actions-on-google 库并且需要自己发送 JSON 时 JSON 的样子。您这样做可能是因为您使用的是 node.js 以外的语言,或者您只是想知道底层协议是什么样的。
要注意的是,此处说明的 JSON 是 Action on Google JSON protocol. If you're using Dialogflow, then this JSON would be wrapped inside the payload.google
field and there are a couple of other differences documented 将使用的内容。因此,在为 Dialogflow 响应生成 JSON 时,您应该以此为指导,但需要注意它可能有何不同。
你应该用什么?
你用什么取决于你的需求和你的开发目标。
如果您正在尝试开发您打算发布的东西,或者有一天可能会这样做,并且您是语音或机器人界面的新手,那么您可能想要使用 Dialogflow - 无论如何您可能做出的其他选择。
如果您有自己的自然语言处理 (NLP) 系统,那么您将希望使用 Action SDK 而不是 Dialogflow。您如何处理它(使用 actions-on-google 库或使用 JSON)将取决于您需要如何与该 NLP 集成。
如果您熟悉 node.js,或者想学习它,那么使用 actions-on-google 库是一个不错的选择,第一个选项卡会对您有所帮助。 (还有其他选择。Dialogflow 也有一个 dialogflow-fulfillment 库,如果你希望能够支持它所支持的机器人平台,这很好。 multivocal 库有一个更加配置驱动的模板方法来构建对话后端,该后端旨在与 Assistant 和 Dialogflow 一起工作。这两个都说明了如何做与 Google 文档相同的事情确实。)
如果您想使用另一种语言,则需要参考 JSON 文档,因为这些平台的完整库很少。最好的选择是将 Dialogflow 与 JSON 一起使用。 Dialogflow 有一些 example JSON for how to apply the Google documentation you cite to their fulfillment protocol.
总结
- 您或许应该使用 Dialogflow。
- 如果可以,请使用 actions-on-google 或其他库。
- 如果您需要使用其他语言或想使用 JSON,请注意可能存在的差异。
我已经使用 JSON 请求和响应 V2 在 Google Assistant 上构建了多个操作,但我听说应该首选使用 Actions SDK 专门为 Google Assistant 构建操作.我很困惑是使用 Actions SDK 还是 JSON 请求响应?
例如 - 在这个 link 上,每个示例代码都有两个选项卡,Node.js 使用 Actions SDK 和 JSON 使用 JSON 请求响应。
在哪些情况下应该首选哪一个?
谢谢!
让我们先看看这些选项卡的含义,然后讨论您的最佳方法应该是什么。
node.js 对比 JSON 选项卡
"node.js" 选项卡显示使用 actions-on-google 库的代码。在大多数情况下,如果您使用 Action SDK 或使用 Dialogflow 来实现,则此库使用相同的代码。在存在差异的地方,文档确实说明了您必须如何处理它们 - 当涉及到您必须如何处理响应时尤其如此。
"JSON" 选项卡显示了如果您不使用 actions-on-google 库并且需要自己发送 JSON 时 JSON 的样子。您这样做可能是因为您使用的是 node.js 以外的语言,或者您只是想知道底层协议是什么样的。
要注意的是,此处说明的 JSON 是 Action on Google JSON protocol. If you're using Dialogflow, then this JSON would be wrapped inside the payload.google
field and there are a couple of other differences documented 将使用的内容。因此,在为 Dialogflow 响应生成 JSON 时,您应该以此为指导,但需要注意它可能有何不同。
你应该用什么?
你用什么取决于你的需求和你的开发目标。
如果您正在尝试开发您打算发布的东西,或者有一天可能会这样做,并且您是语音或机器人界面的新手,那么您可能想要使用 Dialogflow - 无论如何您可能做出的其他选择。
如果您有自己的自然语言处理 (NLP) 系统,那么您将希望使用 Action SDK 而不是 Dialogflow。您如何处理它(使用 actions-on-google 库或使用 JSON)将取决于您需要如何与该 NLP 集成。
如果您熟悉 node.js,或者想学习它,那么使用 actions-on-google 库是一个不错的选择,第一个选项卡会对您有所帮助。 (还有其他选择。Dialogflow 也有一个 dialogflow-fulfillment 库,如果你希望能够支持它所支持的机器人平台,这很好。 multivocal 库有一个更加配置驱动的模板方法来构建对话后端,该后端旨在与 Assistant 和 Dialogflow 一起工作。这两个都说明了如何做与 Google 文档相同的事情确实。)
如果您想使用另一种语言,则需要参考 JSON 文档,因为这些平台的完整库很少。最好的选择是将 Dialogflow 与 JSON 一起使用。 Dialogflow 有一些 example JSON for how to apply the Google documentation you cite to their fulfillment protocol.
总结
- 您或许应该使用 Dialogflow。
- 如果可以,请使用 actions-on-google 或其他库。
- 如果您需要使用其他语言或想使用 JSON,请注意可能存在的差异。