Esempio n. 1
0
        public static string MakeQuestionBank()
        {
            var dict = new Dictionary <string, string>();

            string[] lines = File.ReadAllLines("C:/Users/Desktop/Downloads/ExampleFile.tsv");
            dict = lines.Select(l => l.Split('?')).ToDictionary(a => a[0], a => a[1]);
            AddToKB questionbank = new AddToKB()
            {
                name = "ghagsh", qnaPairs = new List <QnaPair>(), urls = new List <string>()
            };

            foreach (var entry in dict)
            {
                QnaPair qna = new QnaPair()
                {
                    question = entry.Key, answer = entry.Value
                };
                questionbank.qnaPairs.Add(qna);
            }
            questionbank.urls.Add("");
            var serializer = new JavaScriptSerializer();

            return(serializer.Serialize(questionbank));
        }
Esempio n. 2
0
        private static async Task <string> UpdateQueryQnABot(string newQuestion, string newAnswer, Mode paramMode)
        {
            string strResponse = "";
            // crea una entrada de base de conocimiento
            QnAKnowledgeBase objQnAKnowledgeBase = new QnAKnowledgeBase();
            QnaPair          objQnaPair          = new QnaPair();

            objQnaPair.question = newQuestion;
            objQnaPair.answer   = newAnswer;

            if (paramMode == Mode.Add)
            {
                Add objAdd = new Add();
                objAdd.qnaPairs = new List <QnaPair>();
                objAdd.urls     = new List <string>();
                objAdd.qnaPairs.Add(objQnaPair);
                objQnAKnowledgeBase.add = objAdd;
            }

            if (paramMode == Mode.Delete)
            {
                Delete objDelete = new Delete();
                objDelete.qnaPairs = new List <QnaPair>();
                objDelete.urls     = new List <string>();
                objDelete.qnaPairs.Add(objQnaPair);
                objQnAKnowledgeBase.delete = objDelete;
            }

            using (System.Net.Http.HttpClient client =
                       new System.Net.Http.HttpClient())
            {
                string RequestURI = String.Format("{0}{1}{2}{3}? ",
                                                  @"https://westus.api.cognitive.microsoft.com/",
                                                  @"qnamaker/v2.0/",
                                                  @"knowledgebases/",
                                                  _KnowledgeBase);

                using (HttpRequestMessage request =
                           new HttpRequestMessage(new HttpMethod("PATCH"), RequestURI))
                {
                    request.Content = new StringContent(
                        JsonConvert.SerializeObject(objQnAKnowledgeBase),
                        System.Text.Encoding.UTF8, "application/json");

                    request.Content.Headers.Add(
                        "Ocp-Apim-Subscription-Key",
                        _OcpApimSubscriptionKey);

                    HttpResponseMessage response = await client.SendAsync(request);

                    if (response.IsSuccessStatusCode)
                    {
                        strResponse = $"Operation {paramMode} completed.";
                    }
                    else
                    {
                        string responseContent =
                            await response.Content.ReadAsStringAsync();

                        strResponse = responseContent;
                    }
                }
            }

            return(strResponse);
        }