哪个更适合用于 Google 助理?Actions SDK 或 JSON 请求响应

Lak*_*pal 3 actions-on-google dialogflow-es

我已经使用 JSON 请求和响应 V2 在 Google Assistant 上构建了多个操作,但我听说应该首选使用 Actions SDK 来构建专门针对 Google Assistant 的操作。我很困惑是使用 Actions SDK 还是 JSON 请求响应?

例如 - 在此链接上,每个示例代码都有两个选项卡,Node.js 使用 Actions SDK 和 JSON 使用 JSON 请求响应。

在哪些情况下应该首选哪一个?

谢谢!

Pri*_*ner 5

让我们首先看看这些选项卡的含义,然后讨论您的最佳方法应该是什么。

node.js 与 JSON 选项卡

“node.js”选项卡显示了使用actions-on-google库的代码。在大多数情况下,如果您使用 Action SDK 或使用 Dialogflow 来实现,则此库使用相同的代码。在存在差异的地方,文档确实说明了您必须如何处理它们 - 在您必须如何处理响应时尤其如此。

如果您不使用 actions-on-google 库并且需要自己发送 JSON,“JSON”选项卡会显示 JSON 的外观。您这样做可能是因为您使用的是 node.js 以外的语言,或者您只是想知道底层协议是什么样的。

问题在于,此处说明的 JSON 将被Action on Google JSON 协议使用。如果您使用Dialogflow,那么这个JSON将里面包裹的payload.google领域,有一对夫妇的其他差异记录。因此,在为 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 有一些示例 JSON,用于说明如何将您引用的 Google 文档应用到他们的履行协议中

概括

  • 您可能应该使用 Dialogflow。
  • 如果可以,请使用 actions-on-google 或其他库。
  • 如果您需要使用其他语言或想要使用 JSON,请注意可能的差异。