Google 助手 - 现有对话流意图和新操作合作
Google Assistant - existing dialogflow intents & new actions cooperation
我有一个关于 Google 助手的技术问题 - 不幸的是,我无法在任何地方找到明确的答案。
目前我司拥有:
- 会话式聊天机器人 基于 Dialogflow,由我们的员工不断开发
- Google 操作 代理。我们的开发人员设法使用 OAuth 2.0 在我们的平台上构建 Google 帐户和我们客户帐户的连接,并创建了第一个操作,通过交换令牌,允许 return 来自我们的某些信息平台到 Google 助手,反之亦然 - 在 Google 助手中提供某些信息,这些信息已发送并保存在我们平台上客户的帐户中。
我们希望 actions.google.com (2) 上的操作和 Dialogflow (1) 上的对话在 Google 助手中相互协作。一个团队正在开发聊天机器人,另一个团队正在开发高级操作,我们希望它保持这种状态。
我的问题是 - 最终在 google 助手上发布它的绝对唯一方法是 将聊天机器人从 Dialogflow 迁移到 Actions Builder 并停止使用 Dialogflow ?
或者也许有一个更简单的解决方案,其中这两种环境(当然是在一个配置文件/代理上工作)相互合作,并且有可能继续在 dialogflow 上工作?
我们了解 Action Builder 的优势,但 Dialogflow 恰好可以满足我们的需求。
根据您的确切需求和您可能接受的限制,您可以从几个角度来解决这个问题,但一般的答案是“是的,您可以同时进行这两项操作”。
首先,Dialogflow ES 继续支持 Actions on Google Integration。正如您的 Dialogflow 代理与其他平台集成一样,它应该仍然能够与 Actions 集成。
然而,有一些注意事项(和一些好处!):
- 您将在 Google v2 平台上使用 Actions,而不是 Action Builder(和更新的 SDK)附带的 v3。如果 v2 支持您需要的功能,那么就可以了。 (v2 中支持帐户链接。)但是如果您需要 v3 中的某些功能,那么您将 运行 遇到问题。
- 您不能在同一个 Cloud 项目上使用 Action Builder,您应该从 Dialogflow 端开始集成。 (但是一旦你这样做了 - 你就可以使用操作控制台来做一些事情,比如提交它以供审查等)
- 确保您没有从 Dialogflow“升级”到 Actions Builder。这会切断两者,因此您将无法从 Dialogflow 更新操作。
另一种方法是您可以使用 Action Builder,但让它将所有(或几乎所有)请求转发到 Dialogflow。在这种方案下,您将拥有一个只有一个场景的 Action Builder 项目,该场景具有捕获所有输入的 Intent,将其发送到您控制的 Webhook,后者通过 Dialogflow API 将其发送到您的 Dialogflow 代理,从您的 Dialogflow 代理获取响应,并通过 Action Builder 转发该响应。
这有点复杂,但如果您想利用使用 v2 可能无法使用的更高级的 Action 概念,可能会带来一些好处。
我有一个关于 Google 助手的技术问题 - 不幸的是,我无法在任何地方找到明确的答案。
目前我司拥有:
- 会话式聊天机器人 基于 Dialogflow,由我们的员工不断开发
- Google 操作 代理。我们的开发人员设法使用 OAuth 2.0 在我们的平台上构建 Google 帐户和我们客户帐户的连接,并创建了第一个操作,通过交换令牌,允许 return 来自我们的某些信息平台到 Google 助手,反之亦然 - 在 Google 助手中提供某些信息,这些信息已发送并保存在我们平台上客户的帐户中。
我们希望 actions.google.com (2) 上的操作和 Dialogflow (1) 上的对话在 Google 助手中相互协作。一个团队正在开发聊天机器人,另一个团队正在开发高级操作,我们希望它保持这种状态。
我的问题是 - 最终在 google 助手上发布它的绝对唯一方法是 将聊天机器人从 Dialogflow 迁移到 Actions Builder 并停止使用 Dialogflow ? 或者也许有一个更简单的解决方案,其中这两种环境(当然是在一个配置文件/代理上工作)相互合作,并且有可能继续在 dialogflow 上工作? 我们了解 Action Builder 的优势,但 Dialogflow 恰好可以满足我们的需求。
根据您的确切需求和您可能接受的限制,您可以从几个角度来解决这个问题,但一般的答案是“是的,您可以同时进行这两项操作”。
首先,Dialogflow ES 继续支持 Actions on Google Integration。正如您的 Dialogflow 代理与其他平台集成一样,它应该仍然能够与 Actions 集成。
然而,有一些注意事项(和一些好处!):
- 您将在 Google v2 平台上使用 Actions,而不是 Action Builder(和更新的 SDK)附带的 v3。如果 v2 支持您需要的功能,那么就可以了。 (v2 中支持帐户链接。)但是如果您需要 v3 中的某些功能,那么您将 运行 遇到问题。
- 您不能在同一个 Cloud 项目上使用 Action Builder,您应该从 Dialogflow 端开始集成。 (但是一旦你这样做了 - 你就可以使用操作控制台来做一些事情,比如提交它以供审查等)
- 确保您没有从 Dialogflow“升级”到 Actions Builder。这会切断两者,因此您将无法从 Dialogflow 更新操作。
另一种方法是您可以使用 Action Builder,但让它将所有(或几乎所有)请求转发到 Dialogflow。在这种方案下,您将拥有一个只有一个场景的 Action Builder 项目,该场景具有捕获所有输入的 Intent,将其发送到您控制的 Webhook,后者通过 Dialogflow API 将其发送到您的 Dialogflow 代理,从您的 Dialogflow 代理获取响应,并通过 Action Builder 转发该响应。
这有点复杂,但如果您想利用使用 v2 可能无法使用的更高级的 Action 概念,可能会带来一些好处。