Google 助手 - 现有对话流意图和新操作合作

Google Assistant - existing dialogflow intents & new actions cooperation

我有一个关于 Google 助手的技术问题 - 不幸的是,我无法在任何地方找到明确的答案。

目前我司拥有:

  1. 会话式聊天机器人 基于 Dialogflow,由我们的员工不断开发
  2. 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 概念,可能会带来一些好处。