Exemplo n.º 1
0
        public async Task <Response <AnalyzeConversationResult> > AnalyzeConversationAsync(string projectName, string deploymentName, AnalyzeConversationOptions conversationAnalysisOptions, CancellationToken cancellationToken = default)
        {
            if (projectName == null)
            {
                throw new ArgumentNullException(nameof(projectName));
            }
            if (deploymentName == null)
            {
                throw new ArgumentNullException(nameof(deploymentName));
            }
            if (conversationAnalysisOptions == null)
            {
                throw new ArgumentNullException(nameof(conversationAnalysisOptions));
            }

            using var message = CreateAnalyzeConversationRequest(projectName, deploymentName, conversationAnalysisOptions);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                AnalyzeConversationResult value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = AnalyzeConversationResult.DeserializeAnalyzeConversationResult(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }
Exemplo n.º 2
0
        internal ConversationalTaskResult(AnalyzeConversationResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            Result = result;
            Kind   = AnalyzeConversationTaskResultsKind.ConversationResult;
        }
Exemplo n.º 3
0
        internal static CustomConversationalTaskResult DeserializeCustomConversationalTaskResult(JsonElement element)
        {
            AnalyzeConversationResult          results = default;
            AnalyzeConversationTaskResultsKind kind    = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("results"))
                {
                    results = AnalyzeConversationResult.DeserializeAnalyzeConversationResult(property.Value);
                    continue;
                }
                if (property.NameEquals("kind"))
                {
                    kind = new AnalyzeConversationTaskResultsKind(property.Value.GetString());
                    continue;
                }
            }
            return(new CustomConversationalTaskResult(kind, results));
        }
Exemplo n.º 4
0
 internal ConversationalTaskResult(AnalyzeConversationTaskResultsKind kind, AnalyzeConversationResult result) : base(kind)
 {
     Result = result;
     Kind   = kind;
 }
 internal CustomConversationalTaskResult(AnalyzeConversationTaskResultsKind kind, AnalyzeConversationResult results) : base(kind)
 {
     Results = results;
     Kind    = kind;
 }
 public static CustomConversationalTaskResult CustomConversationalTaskResult(AnalyzeConversationTaskResultsKind kind = default, AnalyzeConversationResult results = null)
 {
     return(new CustomConversationalTaskResult(kind, results));
 }