我已使用Dialogflow为Google Assistant开发应用程序。我已经在Dialogflow Web GUI中创建了意图和实体,并且正在使用webhook响应进行进一步的对话。
现在,我想构建一个聊天机器人,该聊天机器人是现有Android或iOS应用的一部分,并使用已经为Dialogflow编写的代码。当我这样做时需要注意什么?看来我可以在该平台上使用SDK或调用Dialogflow REST API。哪一个更快或更需要权衡?我可以不通过网络使用Dialogflow NLP吗?
答案 0 :(得分:1)
注意:Dialogflow API V1已过时,将于2019年10月23日关闭。 这意味着正式的Javascript,本机Android,本机iOS和Cordova客户端将停止工作,因为它们都使用V1。这些客户是否以及何时将升级到V2尚无定论。 因此,目前最好的选择是使用REST API。
答案 1 :(得分:0)
从为Google的Actions构建的实现转变为使用此实现还为其他平台提供响应时,需要注意一些事项。 Google上的Actions期望响应的格式略有不同,并且,如果您使用的是AoG特定的特征(例如SimpleResponse对象或Card对象),则其他Dialogflow集成可能不会出现。因此,您需要检查一下Webhook代码,以确保发送回的内容在各个平台上都可以使用。您的逻辑和Dialogflow UI构建器应该几乎保持不变-只是后端可能需要一些工作。
如您所说,要进行调用,您可以自己进行REST调用,也可以使用Dialogflow构建的SDK。尽管SDK会稍快一些,但由于它使用的是ProtoBuffs而不是REST,因此在大多数情况下,差异可能会很小。如果您打算流式传输音频,则可能需要使用SDK或您自己的ProtoBuff实施,因为REST不能同样处理。如果您只是发送文本,并且更喜欢使用REST API,那么这是一种非常合理的方法。
没有“本地Dialogflow”库。所有呼叫都必须通过网络。如果您需要的话,还有其他库可以在本地执行语音转文本和NLP。