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