Метод распознавания LUIS перестал работать (код не был изменен) - PullRequest
1 голос
/ 08 марта 2019

Я не изменил свой код, и метод выдает 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\1\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\1\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 \ 1 \ s \ library \ Microsoft.Bot.Builder \ MiddlewareSet.cs: строка 55 в Microsoft.Bot.Builder.BotAdapter.RunPipelineAsync (ITurnContext turnContext, обратный вызов BotCallbackHandler, CancellationToken cancellationToken) в D: \ a \ 1 \ s \ library \ Microsoft.Bot.Builder \ BotAdapter.cs: строка 167

Заранее спасибо, ребята!

1 Ответ

0 голосов
/ 12 марта 2019

Это может произойти, если вы используете Ключ стартера вместо действительного Ключ подписки из «ресурса среды выполнения конечной точки в Azure».Дополнительную информацию можно найти здесь: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-how-to-azure-subscription

После создания ключа ресурса LUIS Azure его можно назначить на портале LUIS:

enter image description here

Более подробную информацию можно найти здесь: 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

...