ActionsSdkApp和DialogflowApp for Google Assistant之间的区别是什么

Ant*_*ine 7 actions-on-google

为了构建Google 智能助理应用,Google提供了两个不同的API作为其node.js动作在google库中的一部分:

有一个共同的界面,但我不明白两者之间的区别是什么,以及为什么我会使用其中一个.

Pri*_*ner 12

简而言之,这两个对象提供了类似(但不完全相同)的方法来处理请求,并提供了两种默认方式的结果,Google允许您为Assistant创建一个Action.

DialogflowApp对象是您可能用于大多数目的的对象.它适用于Dialogflow工具,让它处理自然语言处理(NLP)组件并在适当的情况下将结果传递给您的webhook.它提供了一些特定于Dialogflow功能的方法,例如Contexts,并将其他内容映射到Dialogflow期望的响应格式.

ActionsSdkApp意味着,如果你使用的是自己NLP和你的网络挂接直接从谷歌获得的东西(不使用Dialogflow)一起使用.如果您需要构建actions.json文件,那么您正在使用Actions SDK.

两者具有共同的方法和成语,如app.ask()app.tell()以及映射app.data到会话存储等等,即使实施这些的细节对于每种类型的不同.

您应该使用与您正在使用的工具匹配的那个.对于大多数新用户 - 可能是Dialogflow和DialogflowApp对象.

更新

请注意,问题中的API,询问的特定对象以及我的答案中讨论的具体方法是针对该库的先前版本.

概念的时候在当前库仍持有使用ActionSDK VS Dialogflow对象,所以这背后的问题和答案的概念仍然是有效的,但技术细节发生了变化.


小智 6

简单来说

使用Actions SDK进行一次性应用.这些应用程序在被调用然后停止后直接提供所需的答案.他们只给你一个结果.一个典型的例子是将计时器设置为十分钟.

对所有其他应用程序使用Dialogflow,对于那些真正具有会话效果的应用程序,其中有多条路径可供遵循,以及您希望用户在对话期间提供更多信息的位置.