代码之家  ›  专栏  ›  技术社区  ›  nikhilesh_koshti

Dialogflow SDK或Dialogflow REST API,哪种响应时间更快?

  •  2
  • nikhilesh_koshti  · 技术社区  · 6 年前

    我用Dialogflow为googleassistant开发了一个应用程序。我已经在dialogflowwebgui中创建了意图和实体,并使用webhook响应进行进一步的对话。

    现在我想构建一个聊天机器人,它是现有Android或iOS应用程序的一部分,并使用我已经为Dialogflow编写的代码作为其中的一部分。当我这样做的时候,我需要知道什么?看起来我可以将SDK用于该平台,或者调用Dialogflow REST API。哪一个更快或者有什么折衷?我可以不通过网络使用Dialogflow NLP吗?

    2 回复  |  直到 6 年前
        1
  •  0
  •   Prisoner    6 年前

    从为Google上的Actions构建的fulfillment转变为使用它为其他平台提供响应时,需要注意一些事情。Google上的Actions期望响应的格式稍微不同,如果您使用的是AoG特定的特性(例如SimpleResponse对象或Card对象),那么它可能不会出现在其他Dialogflow集成中。因此,您需要检查您的webhook代码,以确保返回的内容跨平台工作。您的逻辑和DialogFlowUI构建器应该基本保持不变—只是您的后端可能需要一些工作。

    如您所说,要进行调用,您可以自己进行其余调用,也可以使用Dialogflow构建的SDK。虽然SDK会稍微快一点,因为它使用protobuff而不是REST,但在大多数情况下差别可能相当小。如果您计划流式传输音频,您可能需要使用SDK或您自己的ProtoBuff实现,因为REST不能很好地处理这个问题。如果您只是发送文本,并且更习惯于使用restapi,那么这是一种非常合理的方法。

    没有“本地Dialogflow”库。所有的电话都必须通过网络。如果您需要的话,还有其他库可以在本地进行语音到文本和NLP。

        2
  •  1
  •   rcpinheiro    5 年前

    注:Dialogflow API V1已弃用,将于2019年10月23日关闭。 这意味着官方Javascript、原生Android、原生iOS和Cordova客户端将停止工作,因为它们都使用V1。没有消息说这些客户端是否以及何时会升级到V2。 所以现在最好的办法就是使用restapi。

    推荐文章