/// <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); }
/// <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); }
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); }