LUIS 识别器方法停止工作(代码未更改)

LUIS recognizer method stopped working (Code hasn't been changed)

我没有更改任何代码,该方法抛出 LUIS.Runtime.Models.APIErrorException

_services.LuisServices[LuisConfiguration].RecognizeAsync(turnContext, cancellationToken);

我尝试使用不同的 LUIS 模型和我的机器人的旧版本,但它确实有效。 BotBuilder 中似乎发生了一些变化,我不知道是什么。这是堆栈跟踪:

       Exception caught : Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime.Models.APIErrorException: Operation returned an invalid status code 'Forbidden'
        at Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime.Prediction.ResolveWithHttpMessagesAsync(String appId, String query, 
        Nullable`1 timezoneOffset, Nullable`1 verbose, 
        Nullable`1 staging, Nullable`1 spellCheck, String bingSpellCheckSubscriptionKey,
 Nullable`1 log, Dictionary`2 customHeaders, CancellationToken cancellationToken)
                 at Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime.PredictionExtensions.ResolveAsync(IPrediction operations, String appId, String query, 
    Nullable`1 timezoneOffset, Nullable`1 verbose, 
    Nullable`1 staging, 
    Nullable`1 spellCheck, 
    String bingSpellCheckSubscriptionKey, Nullable`1 log, CancellationToken cancellationToken)
                 at Microsoft.Bot.Builder.AI.Luis.LuisRecognizer
    .RecognizeInternalAsync(ITurnContext turnContext, CancellationToken cancellationToken) in D:\a\s\libraries\Microsoft.Bot.Builder.AI.LUIS
    \LuisRecognizer.cs:line 421
                 at Microsoft.Bot.Builder.AI.Luis.LuisRecognizer
    .RecognizeAsync(ITurnContext turnContext, CancellationToken cancellationToken) in D:\a\s\libraries\Microsoft.Bot.Builder.AI.LUIS
    \LuisRecognizer.cs:line 112
                 at NLPMortBot.BasicBot.OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken) in nlpmortbot\NLPMortBot\BasicBot.cs:line 121
                 at Microsoft.Bot.Builder.MiddlewareSet.ReceiveActivityWithStatusAsync(ITurnContext turnContext, BotCallbackHandler callback, 

CancellationToken cancellationToken) 在 D:\a\s\libraries\Microsoft.Bot.Builder\MiddlewareSet.cs:line 55 在 Microsoft.Bot.Builder.BotAdapter.RunPipelineAsync(ITurnContext turnContext, BotCallbackHandler 回调, CancellationToken cancellationToken) 在 D:\a\s\libraries\Microsoft.Bot.Builder\BotAdapter.cs:line 167

提前谢谢大家!

如果您使用 Starter Key 而不是来自 'endpoint runtime resource in Azure' 的实际 Subscription Key,就会发生这种情况。可以在此处找到更多信息:https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-how-to-azure-subscription

创建 LUIS Azure 资源密钥后,可以在 LUIS 门户中分配它:

可在此处找到更多信息:https://docs.microsoft.com/en-us/azure/cognitive-services/luis/get-started-portal-deploy-app#assign-the-resource-key-to-the-luis-app-in-the-luis-portal