gpt4 book ai didi

java - 从 Java 向 Google Assistant 发送请求

转载 作者:行者123 更新时间:2023-11-30 02:02:10 25 4
gpt4 key购买 nike

我们使用 Dialogflow 开发了 Google Action,可以响应用户的个性化请求并执行一些需要一定时间(通常是几分钟)的任务。

我们的目标是使用 Google Assistant 的“广播”功能宣布任务结果,但我们找不到将命令发送到 Google Assistant 的方法。

我们的代理接收用户的请求并启动一个执行任务的 Java 应用程序,因此当该过程完成时,Java 应用程序必须与 Google Assistant 进行通信。

从 Java 应用程序中,我们可以使用 Dialogflow RPC API 与代理进行通信。 ,但不适用于 Google Assistant。

有什么方法可以从 Java 应用程序向 Google Assistant 发送请求吗?或者...既然我们可以与 Google Action Agent 进行通信...我们如何通过代理发送请求?

换句话说,代理是否可以与 Google Assistant 通信以使用其任何功能,例如“广播...”?

我们已检查Google Assistant SDK作为替代方案,但我们对此感到困惑。

请原谅我的英语不好。

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

“广播”功能不适用于用户开发的操作,并且在任何情况下都可能不是一个好的方案 - 如果用户需要等待一段时间才能得到答案,他们可能不想要答案在他们没有预料到的时候突然宣布。

操作通常是对话式的,而不是花一些时间来回复答案,这就是为什么履行必须进行处理的时间有 5 秒的限制。如果您确实需要花一些时间,您可以选择以下几种:

首先,您可以使用 Assistant 之外的其他方法来提供答案 - 可能使用 Firebase Cloud Messaging 等方法或向用户发送电子邮件。

同样,您也许可以使用通知。在这种情况下,当信息可用时,您的 Java 程序将通过助手向用户发送通知并存储结果。然后,用户可以激活通知以继续对话并获取结果。这样做的好处是,答案不会只是在用户还没有准备好时脱口而出,但也有一个缺点,即扬声器(尚)不支持通知。

您还可以考虑使用媒体响应来设置一种定期轮询新消息的方法。在此方案下,您将启动 Java 程序来获取结果,然后以您的履行服务器可以访问的方式存储该结果。在回复用户说您正在处理结果时,您将包含一些播放时间(例如 15 秒)的音频的媒体响应。当音频结束时,您的操作将再次被调用,您可以检查结果是否可用。如果是这样,您发送结果并继续或结束对话。否则,只需发送媒体响应。

关于java - 从 Java 向 Google Assistant 发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52494282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com