Exemplo n.º 1
0
        public async Task AnalyzeConversation()
        {
            ConversationalTask conversationalTask = new(
                new ConversationAnalysisOptions(new TextConversationItem("1", "1", "Send an email to Carol about the tomorrow's demo")),
                new ConversationTaskParameters(TestEnvironment.ProjectName, TestEnvironment.DeploymentName));

            Response response = await Client.AnalyzeConversationAsync(conversationalTask.AsRequestContent());

            // assert - main object
            Assert.IsNotNull(response);

            // deserialize
            using JsonDocument json = await JsonDocument.ParseAsync(response.ContentStream);

            ConversationalTaskResult conversationalTaskResult = ConversationalTaskResult.DeserializeConversationalTaskResult(json.RootElement);

            Assert.IsNotNull(conversationalTaskResult);

            // assert - prediction type
            Assert.AreEqual(ProjectKind.Conversation, conversationalTaskResult.Result.Prediction.ProjectKind);

            // assert - top intent
            Assert.AreEqual("Send", conversationalTaskResult.Result.Prediction.TopIntent);

            // cast prediction
            var conversationPrediction = conversationalTaskResult.Result.Prediction as ConversationPrediction;

            Assert.IsNotNull(conversationPrediction);

            // assert - not empty
            Assert.IsNotEmpty(conversationPrediction.Intents);
            Assert.IsNotEmpty(conversationPrediction.Entities);
        }
Exemplo n.º 2
0
        public async Task AnalyzeConversation_Orchestration_QuestionAnswering()
        {
            ConversationalTask conversationalTask = new(
                new ConversationAnalysisOptions(new TextConversationItem("1", "1", "How are you?")),
                new ConversationTaskParameters(TestEnvironment.OrchestrationProjectName, TestEnvironment.OrchestrationDeploymentName));

            Response response = await Client.AnalyzeConversationAsync(conversationalTask.AsRequestContent());

            // assert - main object
            Assert.IsNotNull(response);

            // deserialize
            using JsonDocument json = await JsonDocument.ParseAsync(response.ContentStream);

            ConversationalTaskResult conversationalTaskResult = ConversationalTaskResult.DeserializeConversationalTaskResult(json.RootElement);

            Assert.IsNotNull(conversationalTaskResult);

            // assert - prediction type
            Assert.AreEqual(ProjectKind.Orchestration, conversationalTaskResult.Result.Prediction.ProjectKind);

            // assert - top intent
            Assert.AreEqual("ChitChat-QnA", conversationalTaskResult.Result.Prediction.TopIntent);

            // cast prediction
            var orchestrationPrediction = conversationalTaskResult.Result.Prediction as OrchestrationPrediction;

            Assert.IsNotNull(orchestrationPrediction);

            // assert - not empty
            Assert.IsNotEmpty(orchestrationPrediction.Intents);

            // cast top intent
            var topIntent = orchestrationPrediction.Intents[orchestrationPrediction.TopIntent] as QuestionAnsweringTargetIntentResult;

            Assert.IsNotNull(topIntent);

            // assert - inent target kind
            Assert.AreEqual(TargetProjectKind.QuestionAnswering, topIntent.TargetProjectKind);
        }