コード例 #1
0
        private async Task <bool> GetLuisMatch(Question question, string response)
        {
            LuisDataModel ldm = await GetIntentFromLuis(response);

            if (ldm.entities != null && ldm.entities.Length > 0)
            {
                return(string.Compare(ldm.entities[0].entity, question.Answer,
                                      StringComparison.CurrentCultureIgnoreCase) == 0);
            }
            return(true);
        }
コード例 #2
0
        private async Task <LuisDataModel> GetIntentFromLuis(string response)
        {
            LuisDataModel data  = new LuisDataModel();
            var           query = Uri.EscapeDataString(response);

            using (HttpClient client = new HttpClient())
            {
                string requestUri =
                    "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/2e4b6b0c-7d24-441a-9d86-ce4c2681e2e5?subscription-key=dfc477d9a49f47199401e3061ff8e1b2&timezoneOffset=330&verbose=true&q=" +
                    query;
                HttpResponseMessage msg = await client.GetAsync(requestUri);

                if (msg.IsSuccessStatusCode)
                {
                    var jsonDataResponse = await msg.Content.ReadAsStringAsync();

                    data = JsonConvert.DeserializeObject <LuisDataModel>(jsonDataResponse);
                }
            }
            return(data);
        }