Partager via


ConversationAnalysisClient.AnalyzeConversationsAsync Méthode

Définition

[Méthode de protocole] Envoyer un travail d’analyse pour les conversations

  • Cette méthode de protocole permet la création explicite de la demande et le traitement de la réponse pour les scénarios avancés.
public virtual System.Threading.Tasks.Task<Azure.Operation<BinaryData>> AnalyzeConversationsAsync (Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member AnalyzeConversationsAsync : Azure.WaitUntil * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
override this.AnalyzeConversationsAsync : Azure.WaitUntil * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
Public Overridable Function AnalyzeConversationsAsync (waitUntil As WaitUntil, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Operation(Of BinaryData))

Paramètres

waitUntil
WaitUntil

Completed si la méthode doit attendre la fin de l’opération de longue durée sur le service ; Started s’il doit retourner après le démarrage de l’opération. Pour plus d’informations sur les opérations de longue durée, consultez Exemples d’opérations Azure.Core Long-Running.

content
RequestContent

Contenu à envoyer en tant que corps de la demande.

context
RequestContext

Contexte de demande, qui peut remplacer les comportements par défaut du pipeline client par appel.

Retours

Operation représentant une opération asynchrone sur le service.

Exceptions

content a la valeur null.

Le service a retourné un code de status non réussi.

Exemples

Cet exemple montre comment appeler AnalyzeConversationsAsync avec les paramètres requis et le contenu de requête, et comment analyser le résultat.

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new ConversationAnalysisClient(endpoint, credential);

var data = new {
    analysisInput = new {
        conversations = new[] {
            new {
                conversationItems = new[] {
                    new {
                        text = "<text>",
                        id = "<id>",
                        participantId = "<participantId>",
                    }
                },
                id = "<id>",
                language = "<language>",
                modality = "text",
            }
        },
    },
    tasks = new[] {
        new {
            kind = "ConversationalSummarizationTask",
        }
    },
};

var operation = await client.AnalyzeConversationsAsync(WaitUntil.Completed, RequestContent.Create(data));

BinaryData responseData = operation.Value;
JsonElement result = JsonDocument.Parse(responseData.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("jobId").ToString());
Console.WriteLine(result.GetProperty("lastUpdatedDateTime").ToString());
Console.WriteLine(result.GetProperty("status").ToString());

Cet exemple montre comment appeler AnalyzeConversationsAsync avec tous les paramètres et demander le contenu, et comment analyser le résultat.

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new ConversationAnalysisClient(endpoint, credential);

var data = new {
    displayName = "<displayName>",
    analysisInput = new {
        conversations = new[] {
            new {
                conversationItems = new[] {
                    new {
                        text = "<text>",
                        id = "<id>",
                        participantId = "<participantId>",
                        language = "<language>",
                        modality = "transcript",
                        role = "agent",
                    }
                },
                id = "<id>",
                language = "<language>",
                modality = "text",
                domain = "finance",
            }
        },
    },
    tasks = new[] {
        new {
            parameters = new {
                summaryAspects = new[] {
                    "issue"
                },
                modelVersion = "<modelVersion>",
                loggingOptOut = true,
            },
            kind = "ConversationalSummarizationTask",
            taskName = "<taskName>",
        }
    },
};

var operation = await client.AnalyzeConversationsAsync(WaitUntil.Completed, RequestContent.Create(data));

BinaryData responseData = operation.Value;
JsonElement result = JsonDocument.Parse(responseData.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("displayName").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("expirationDateTime").ToString());
Console.WriteLine(result.GetProperty("jobId").ToString());
Console.WriteLine(result.GetProperty("lastUpdatedDateTime").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("details").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("details")[0].GetProperty("innererror").GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("details").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("nextLink").ToString());

Remarques

Vous trouverez des informations supplémentaires dans la documentation de l’API REST de service : https://learn.microsoft.com/rest/api/language/2023-04-01/analyze-conversation/submit-job

S’applique à