问题描述
我有一个关于 Google 助理的技术问题 - 很遗憾,我在任何地方都找不到明确的答案。
目前我们公司有:
- 对话式聊天机器人建立在我们员工不断开发的 Dialogflow 之上
- Google Actions 代理。我们的开发人员设法使用 OAuth 2.0 在我们的平台上建立了 Google 帐户和我们客户帐户的连接,并创建了第一个操作,通过交换令牌,允许将某些信息从我们的平台返回到 Google 智能助理,反之亦然- 在 Google 助理中提供某些信息,这些信息会发送并保存在我们平台上客户的帐户中。
我们希望在 actions.google.com (2) 上的操作和在 Dialogflow (1) 上的对话在 Google 助理中相互合作。一个团队正在开发聊天机器人,并且另一个关于高级操作,我们希望它保持这种状态。
我的问题是 - 将聊天机器人从 Dialogflow 迁移到 Actions Builder 并停止使用 Dialogflow 是最终将其发布到 Google 助理上的绝对唯一方法吗? 或者也许有一个更简单的解决方案,其中这两个环境(当然在一个配置文件/代理上工作)相互合作,并且可以继续处理对话流? 我们了解 Action Builder 的优势,但 Dialogflow 足以满足我们的需求。
解决方法
您可以从几个角度来解决这个问题,具体取决于您可能接受的确切需求和限制,但一般的答案是“是的,您可以同时进行”。
首先,Dialogflow ES 继续支持 Actions on Google 集成。正如您的 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 项目,该项目只有一个场景,其意图捕获所有输入,将其发送到您控制的 Webhook,该 Webhook 通过 Dialogflow API 将其发送到您的 Dialogflow 代理,从您的 Dialogflow 代理,并通过 Action Builder 转发该响应。
这有点复杂,但如果您想利用 v2 可能无法使用的更高级的 Action 概念,可能会提供一些好处。