对于我当前的项目,我正在寻找具有以下功能的机器人构建平台。
应支持通过API创建/更新新的/现有的机器人。
支持从流音频中检测意图。
在单个项目中启用多个机器人代理的托管。
用于修改现有漫游器/代理并将其另存为新API的API。
因此,我已经深入研究并使用DialogFlow开发了一个简单的工作原型。 DialogFlow支持从音频流中检测意图。但是不支持第1点和第3点。 DialogFlow目前不支持通过API创建代理。而且,最大的限制是,对于每个GCP项目,只能创建一个DialogFlow代理。假设我创建了多个agent-gcp项目。我还运行了一个Web应用程序,该应用程序通过WebSocket从另一个外部资源接收音频流以进行意图检测。为了将音频流定向到内置的特定DialogFlow代理,我需要在运行时解析该特定GCP项目的凭据。我已经读过我可以创建一个服务帐户并使用一个凭证来管理多个GCP项目,但这尚未尝试。
同样,如第4点所示,我也在寻找一种在运行时使用API创建现有代理的新版本的方法。当前,DialogFlow支持版本和环境,但是其实际目的并不像我提到的那样。此外,这是一个beta功能,不确定是否将其包含在生产中。
另一方面,我正在研究AWS Lex。 Lex支持我的要求之一。目前,AWS Lex不支持从流中检测意图(我无法为此找到任何API)。
所以我的问题是如何利用现有的DialogFlow功能满足我的要求?还是有一种方法可以从AWS Lex中的流音频输入中检测意图?
答案 0 :(得分:0)
由于没有通过API创建新的Dialogflow代理的机制,因此 1。和 4。的一部分是不可能的。
对于 3。,您已经提到过,您可以在运行时管理凭据,也可以配置一个可以访问所有GCP项目的服务帐户。
答案 1 :(得分:0)
供以后参考:Dialogflow上也可能有第1点和第4点。要以编程方式创建一个dialogflow代理,您需要执行以下操作:-
还可以将现有的漫游器导出为zip,修改zip内容(例如漫游器名称),并使用zip上传功能创建新的漫游器。然后继续更新/创建新的意图和实体。