在用户之间分摊启用 Azure 语音的机器人的成本

Splitting costs of an Azure Voice Enabled Bot amongst users

背景

我有一个基于 Microsoft 认知服务 LUIS 和语音资源的语音机器人。该机器人虽然由我开发,但实际上并没有被我用于生产,而是许多不同的用户各自为使用付费。

问题

因此,我希望我的用户能够直接向 Microsoft 支付他们的 bot 资源使用费用(即没有我作为中间人,我必须设置 Patreon、处理税款并自己支付 MS)。

然而,虽然我希望用户能够直接向 Microsoft 付费,但我希望保持对机器人的 LUIS 和语音训练的集中控制,以便语音训练和 LUIS 模型改进可以集中起来并使所有用户共同受益。

路易斯

现在看来,Microsoft Language Understanding (LUIS) 已经完美地做到了这一点。我可以使用我的开发者订阅创建 LUIS 应用程序。我使用此订阅进行测试等

然后我的每个用户将在他们自己的 Azure 帐户中创建他们自己的订阅,给我访问权限,然后我可以使用该订阅为机器人创建一个预测端点。完美,有些用户可能想要免费套餐,有些用户可能想升级到付费套餐,一切都为用户提供了灵活性。

语音

另一方面,Microsoft Speech 似乎决定走完全相反的路。我有一个订阅,其中包含整个语音应用程序。完成的。除了我的免费层测试端点之外,我不能添加任何额外的端点,因为它们在我的订阅之下(因为它目前是免费层,我不能这样做)。

我看不出有什么方法可以让用户使用自己的订阅来实际支付生产中使用的资源。

我能看到的唯一可能的方法是每个用户必须创建自己的订阅,给我访问权限,我必须 复制将整个语音应用程序纳入他们的订阅。

这意味着我必须维护我的应用程序的多个副本并复制每个数据上传、训练和模型部署,这不是一个可扩展性很强的解决方案。

结论

有人能告诉我我的理解是否正确吗?我真的希望不会,而且我错过了演讲资源中的一些东西,因为除非我误解了事情,否则我真的看不出一个 MS 团队如何在这个用例的架构方面做得如此正确,而另一个团队却把事情搞得如此错误。

答案是肯定的,每个托管语音应用程序实例的用户都必须有自己的资源才能部署。

为了减轻在每个帐户中上传数据和训练的痛苦,现在有一个 API 允许您跨订阅复制经过训练的模型。