将现有自定义聊天机器人移植为 Google 助理操作
Port existing custom chatbot as Google Assistant action
我们有一个框架可以实现聊天机器人/语音助手逻辑,用于处理健康领域的复杂对话。一切都在我们的服务器端实现。这使我们可以完全控制响应的生成方式。
通道(例如 Alexa 或 Facebook Messenger 云)调用我们的 webhook:
- 当用户发送消息时,平台会将这些发送到我们的 webhook:哈希用户 ID、消息文本(聊天消息或转录的语音)
- 我们的 webhook 以适当结构化的响应进行响应,其中包括要显示的文本、语音、可能的选择按钮和一些图像等。它还包括当前会话是否已完成或是否需要用户输入的标志。
集成新频道涉及将返回的响应转换为频道期望的形式并设置一些标志(有语音、有显示等)。
到目前为止,这个简单的框架已经适用于 Facebook Messenger、Cortana、Alexa(需要进行一些黑客攻击才能放弃它的意图和插槽识别),our web chatbot。
我们想为 Google 助手 操作编写薄层支持。
是否有任何方法可以将 Google 助理用户的所有输入原封不动地传递到如上所述的 webhook 中,并完全控制生成响应和确定对话结束的方式?
我不想深入研究 API.AI 构建对话的那些繁琐方法,这些方法似乎适用于微不足道的场景,例如订购 Uber,但对于较长的对话似乎非常糟糕。
由于您的系统已经有了自然语言理解层,因此您不需要 API.AI/Dialogflow,您可以完全跳过这一层。 (NLU 很有用,即使对于大型和广泛的对话也是如此,但在您已经通过其他方式定义对话的情况下没有意义。)
您需要使用 Actions SDK(有时在其使用的配置文件之后称为 actions.json)来定义触发短语,但之后您将获得所有文本用户通过向您发送 JSON 的网络钩子作为您对话的一部分说。您将回复 JSON,其中包含 text/audio 回复、卡片上的图片、可能的建议卡片等。
我们有一个框架可以实现聊天机器人/语音助手逻辑,用于处理健康领域的复杂对话。一切都在我们的服务器端实现。这使我们可以完全控制响应的生成方式。
通道(例如 Alexa 或 Facebook Messenger 云)调用我们的 webhook:
- 当用户发送消息时,平台会将这些发送到我们的 webhook:哈希用户 ID、消息文本(聊天消息或转录的语音)
- 我们的 webhook 以适当结构化的响应进行响应,其中包括要显示的文本、语音、可能的选择按钮和一些图像等。它还包括当前会话是否已完成或是否需要用户输入的标志。
集成新频道涉及将返回的响应转换为频道期望的形式并设置一些标志(有语音、有显示等)。
到目前为止,这个简单的框架已经适用于 Facebook Messenger、Cortana、Alexa(需要进行一些黑客攻击才能放弃它的意图和插槽识别),our web chatbot。
我们想为 Google 助手 操作编写薄层支持。
是否有任何方法可以将 Google 助理用户的所有输入原封不动地传递到如上所述的 webhook 中,并完全控制生成响应和确定对话结束的方式?
我不想深入研究 API.AI 构建对话的那些繁琐方法,这些方法似乎适用于微不足道的场景,例如订购 Uber,但对于较长的对话似乎非常糟糕。
由于您的系统已经有了自然语言理解层,因此您不需要 API.AI/Dialogflow,您可以完全跳过这一层。 (NLU 很有用,即使对于大型和广泛的对话也是如此,但在您已经通过其他方式定义对话的情况下没有意义。)
您需要使用 Actions SDK(有时在其使用的配置文件之后称为 actions.json)来定义触发短语,但之后您将获得所有文本用户通过向您发送 JSON 的网络钩子作为您对话的一部分说。您将回复 JSON,其中包含 text/audio 回复、卡片上的图片、可能的建议卡片等。