在 LUIS 上从免费订阅到付费订阅

From free to paid subscription on LUIS

我最近达到了免费 LUIS 使用的限制。我首先直接在 LUIS.ia 门户上创建了 LUIS 应用程序,并在我的代码中使用了这些键。现在我想获得付费选项以继续使用它,所以我为 LUIS.ia 创建了一个 azure 资源,然后我转到 LUIS.ia 应用程序并通过 [上的 Publish>>Add Key 添加了 azure 资源=12=]传送门。然后我在我的代码上更改了新密钥中两个密钥之一的 subscriptionKey,但它仍然无法正常工作。我做错了什么?

目前可能不适用的一个答案是,Azure 资源在整个 Azure 中成功传播需要时间。对于新创建的 LUIS 订阅密钥,这意味着在 Azure 中新创建的 LUIS 订阅密钥最多可能需要十分钟才能对 LUIS 有效。

但是,您概述的步骤表明您可能错过了下一部分。

在 Azure 中创建密钥后,您应该 associated the key with the LUIS application 想要使用它。在 LUIS 门户中成功将 LUIS 订阅密钥关联到您的一个应用程序后,下一步是继续您的机器人代码并将之前的密钥更改为您的新密钥。


根据您在尝试使用 LUIS 时遇到的错误代码,这将有助于您解锁。

如果您收到 401,这意味着您使用的密钥无效,这可能意味着区域错误,或者密钥尚未完成正在传播。

如果它是 403,这通常意味着您超出了每月配额,这意味着您的 LUIS 查询中使用的键属于 free-tier 或者是 Authoring/Programmatic API Key, so the key needs to be replaced with your paid-tier LUIS Subscription Key.


为 BotBuilder .NET v3 用户编辑:

对于.NET v3 SDK的用户,在实例化LuisModel时,如果您使用的是westus以外的区域,则必须传入正确的domain. An example of this in action can be found here,但我也包括以下代码:

[LuisModel("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX",
    "XXXXXXXXXXXXXXXXX", domain: "eastus2.api.cognitive.microsoft.com")]