将现有自定义聊天机器人移植为Google智能助理操作

时间:2018-04-04 07:59:53

标签: webhooks chatbot actions-on-google

我们有一个实现聊天机器人/语音助理逻辑的框架,用于处理健康域中的复杂对话。一切都在我们的服务器端实现。这使我们可以完全控制如何生成响应。

频道(例如Alexa或Facebook Messenger云)调用我们的webhook:

  • 当用户消息时,平台会将这些消息发送到我们的webhook:哈希用户ID,消息文本(聊天消息或转录语音)
  • 我们的webhook以适当的结构化响应进行响应,包括要显示的文本,口语,可能的选择按钮和一些图像等。它还包括当前会话是否已完成或预期用户输入的标记。

集成新频道涉及将返回的响应转换为频道预期的格式并设置一些标志(有声音,有显示等)。

这个简单的框架到目前为止已经适用于Facebook Messenger,Cortana,Alexa(需要一点点黑客来放弃它的意图和插槽识别),our web chatbot

我们想为 Google智能助理操作写一层薄薄的支持。

有没有办法将助理用户的所有输入完整地传递到上述的webhook中,并完全控制生成响应的方式并确定会话的结束?

我宁愿不深入研究API.AI构建会话的繁琐方式,这对于诸如订购Uber之类的微不足道的情况似乎很好,但对于更长时间的对话似乎非常糟糕。

1 个答案:

答案 0 :(得分:1)

由于您的系统已经有自然语言理解层,因此您不需要API.AI/Dialogflow,您可以完全跳过此层。 (即使对于大型和广泛的对话,NLU 也很有用,但在您通过其他方式已经定义了对话的情况下,这是没有意义的。)

您需要使用Actions SDK(有时在其使用的配置文件后称为actions.json)来定义触发短语,但之后您将获得所有文本用户通过向您提供JSON的webhook作为对话的一部分。您将使用包含文本/音频响应,卡片上的图像,可能的建议芯片等的JSON回复。