Beispiel #1
0
        /// <inheritdoc/>
        public override async Task <RecognizerResult> RecognizeAsync(DialogContext dialogContext, Activity activity, CancellationToken cancellationToken = default, Dictionary <string, string> telemetryProperties = null, Dictionary <string, double> telemetryMetrics = null)
        {
            var wrapper = new LuisRecognizer(RecognizerOptions(dialogContext), HttpClient);

            // temp clone of turn context because luisrecognizer always pulls activity from turn context.
            RecognizerResult result;

            using (var tempContext = new TurnContext(dialogContext.Context, activity))
            {
                result = await wrapper.RecognizeAsync(tempContext, cancellationToken).ConfigureAwait(false);
            }

            TrackRecognizerResult(dialogContext, "LuisResult", FillRecognizerResultTelemetryProperties(result, telemetryProperties, dialogContext), telemetryMetrics);

            return(result);
        }
Beispiel #2
0
        /// <inheritdoc/>
        public override async Task <RecognizerResult> RecognizeAsync(DialogContext dialogContext, Activity activity, CancellationToken cancellationToken = default, Dictionary <string, string> telemetryProperties = null, Dictionary <string, double> telemetryMetrics = null)
        {
            var wrapper = new LuisRecognizer(RecognizerOptions(dialogContext), HttpClient);

            // temp clone of turn context because luisrecognizer always pulls activity from turn context.
            var tempContext = new TurnContext(dialogContext.Context.Adapter, activity);

            foreach (var keyValue in dialogContext.Context.TurnState)
            {
                tempContext.TurnState[keyValue.Key] = keyValue.Value;
            }

            var result = await wrapper.RecognizeAsync(tempContext, cancellationToken).ConfigureAwait(false);

            this.TrackRecognizerResult(dialogContext, "LuisResult", this.FillRecognizerResultTelemetryProperties(result, telemetryProperties, dialogContext), telemetryMetrics);

            return(result);
        }
Beispiel #3
0
        public LuisTaskRecognizer()
        {
            var service = new LuisService()
            {
                AppId           = "5e7068ca-eaa8-42f8-b6b0-f603b070c5ee",
                SubscriptionKey = "2760aa3227d8414f9e948ac5eb1849fb",
                Region          = "westus",
                Version         = "2.0",
            };
            var app        = new LuisApplication(service);
            var regOptions = new LuisRecognizerOptionsV2(app)
            {
                IncludeAPIResults = true,
                PredictionOptions = new LuisPredictionOptions()
                {
                    IncludeAllIntents   = true,
                    IncludeInstanceData = true
                }
            };

            _luisRecognizer = new Microsoft.Bot.Builder.AI.Luis.LuisRecognizer(regOptions);
        }