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