public async Task <LuisIntent> GetLuisIntent(string utterance) { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey); var queryString = HttpUtility.ParseQueryString(string.Empty); queryString["query"] = utterance; // These optional request parameters are set to their default values queryString["verbose"] = "true"; queryString["show-all-intents"] = "true"; //queryString["staging"] = "false"; queryString["timezoneOffset"] = "0"; // Request parameters var uri = $"{endpoint}/luis/prediction/v3.0/apps/{appId}/slots/staging/predict?query={queryString}"; var response = await client.GetAsync(uri); var json = await response.Content.ReadAsStringAsync(); LuisIntent intent = JsonConvert.DeserializeObject <LuisIntent>(json); return(intent); }
public IntentWithScore ParseLuisIntent(string LuisResponse) { LuisIntent luisIntent = JsonConvert.DeserializeObject <LuisIntent>(LuisResponse); return(new IntentWithScore { IsSuccessful = true, TopScoringIntent = luisIntent?.TopScoringIntent?.Intent, Score = luisIntent?.TopScoringIntent?.Score ?? 0, TopNIntents = luisIntent?.Intents.Skip(1).Take(luisSettings.TopIntentsCount).Select(x => x.Intent).ToList() }); }
private async Task <LuisIntent> GetLuisIntent(string utterance) { var client = new HttpClient(); var queryString = HttpUtility.ParseQueryString(utterance); // Request parameters var uri = "COPY-URL-HERE" + queryString; var response = await client.GetAsync(uri); var json = await response.Content.ReadAsStringAsync(); LuisIntent intent = JsonConvert.DeserializeObject <LuisIntent>(json); return(intent); }
private bool CheckIntentScore(LuisIntent intent) { return(intent?.Score > _settings.IntentThreshold); }