我最近达到了免费LUIS使用的限制。我首先直接在LUIS.ia门户上创建了LUIS应用程序,并在我的代码上使用了这些键。现在我想获得付费选项继续使用它,所以我为LUIS.ia创建了一个azure资源然后我去了LUIS.ia应用程序并通过在LUIS.ia门户上的Publish>> Add Key添加了azure资源。然后我在我的代码上更改了两个新密钥中的一个的subscriptionKey,但它仍然无法正常工作。我做错了什么?
答案 0 :(得分:2)
此时可能不适用的一个答案是Azure资源在整个Azure中成功传播需要一些时间。对于新创建的LUIS订阅密钥,这意味着最多可能需要十分钟才能使Azure中新创建的LUIS订阅密钥对LUIS有效。
但是,您概述的步骤表明您可能会错过下一部分。
在Azure中创建密钥后,您应该使用associated the key with the LUIS application。在LUIS门户中与您的某个应用程序成功建立LUIS订阅密钥关联后,下一步是继续使用您的机器人代码并将之前的密钥更改为新密钥。
根据您在尝试使用LUIS时获得的错误代码,将有助于解除阻止。
如果您获得 401 ,则表示您使用的密钥无效,这可能意味着错误的区域或密钥没有完成传播。
如果它 403 ,这通常意味着您超出了每月配额,这意味着您的LUIS查询中使用的密钥属于免费套餐或者是Authoring/Programmatic API Key,因此需要使用paid-tier LUIS Subscription Key替换密钥。
编辑BotBuilder .NET v3用户:
对于.NET v3 SDK的用户,在实例化LuisModel
时,如果您使用的是westus以外的区域,则必须传入正确的domain。可以在here找到一个实例,但我还包括以下代码:
[LuisModel("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX",
"XXXXXXXXXXXXXXXXX", domain: "eastus2.api.cognitive.microsoft.com")]