コード例 #1
0
        public void ExecuteCommandTest()
        {
            var commandString = "Marian, please finish the business analysis today";
            var res           = LUISHelper.ExecuteCommand(commandString);

            Assert.IsTrue(res);
        }
コード例 #2
0
        public void UnderstandCommandTest()
        {
            var commandString = "Send email to Daniela";
            var jsonString    = LUISHelper.UnderstandCommand(commandString);

            Assert.IsNotNull(jsonString);
        }
コード例 #3
0
        // POST api/Command
        public string Post([FromBody] string jsonString)
        {
            //
            var commands = jsonString.ToString();
            var cmdArray = commands.Split('\n');

            foreach (var cmd in cmdArray)
            {
                //var ret = LUISHelper.UnderstandCommand(cmd);
                var res = LUISHelper.ExecuteCommand(cmd);
            }
            return(string.Empty);
        }
コード例 #4
0
        private async Task <IActionResult> handle(string input, bool returnAudio = false)
        {
            var inputText = input?.Trim();

            if (string.IsNullOrWhiteSpace(inputText))
            {
                return(Json(new { ResultType = "QnA", Result = "Empty input", InputText = inputText }));
            }
            var luisResult = await LUISHelper.GetObjectResult(inputText);

            if (luisResult.Prediction.TopIntent == "None" || luisResult.Prediction.Intents.FirstOrDefault().Value.Score < 0.5)
            {
                var qnaResult = await QnAMakerHelper.GetAnswer(inputText);

                if (returnAudio)
                {
                    var rootPath = _hostingEnvironment.WebRootPath;
                    var filePath = "Audio/Out/" + Guid.NewGuid() + ".mp3";
                    var fullPath = rootPath + "/" + filePath;
                    var dir      = Path.GetDirectoryName(fullPath);
                    if (!Directory.Exists(dir))
                    {
                        Directory.CreateDirectory(dir);
                    }
                    await SpeechHelper.SynthesisToAudioMP3Async(qnaResult, fullPath);

                    return(Json(new { ResultType = "Audio", Result = filePath, InputText = inputText, ResultText = qnaResult }));
                }
                else
                {
                    return(Json(new { ResultType = "QnA", Result = qnaResult, InputText = inputText }));
                }
            }
            else
            {
                return(Json(new { ResultType = "Luis", Result = luisResult, InputText = inputText }));
            }
        }
コード例 #5
0
 // POST api/values
 public void Post([FromUri] string id, [FromUri] string state)
 {
     // I get the notification that a video is indexed
     //get the video breakdown
     if (state.Equals("Processed", StringComparison.CurrentCultureIgnoreCase))
     {
         var videoBreakdownJson =
             VideoHelper.GetVideoBreakdown(id);
         if (!String.IsNullOrEmpty(videoBreakdownJson))
         {
             var transcript = TranscriptProcessor.ProcessVideoBreakDown(videoBreakdownJson);
             // approve transcript
             // send email to all participants
             var commands = TranscriptProcessor.GetCommands(videoBreakdownJson);
             foreach (var command in commands)
             {
                 //send transcript to LUIS
                 //var jsonCmd = LUISHelper.UnderstandCommand(command);
                 var succeded = LUISHelper.ExecuteCommand(command);
             }
         }
     }
 }
コード例 #6
0
ファイル: Program.cs プロジェクト: searunner/pizzabot
        async void Bot_OnMessage(object sender, MessageEventArgs e)
        {
            if (e.Message.Text != null)
            {
                if (e.Message.Text.ToLower() == "send")
                {
                    SendOrderToAndys(e.Message.Chat.Id);
                }
                else
                {
                    var responce = LUISHelper.AddUtterances(e.Message.Text).GetAwaiter().GetResult();

                    switch (responce.topScoringIntent.intent)
                    {
                    case "AddPizzaToCard":
                        AddPizzaToCard(e.Message.Chat.Id, responce.entities[0].entity);
                        break;

                    case "ExecuteOrder":
                        OrderPizza(e.Message.Chat.Id, responce.entities[0].entity, e.Message.From.FirstName);
                        break;

                    case "GetListOfPizza":
                        DisplayListOfPizza(e.Message.Chat.Id);
                        break;

                    case "Salutation":
                        Salutation(e.Message.Chat.Id, e.Message.From.FirstName);
                        break;

                    default:
                        IntentNotFound(e.Message.Chat.Id);
                        break;
                    }
                }
            }
        }