Partager via


ConversationAnalysisClient.AnalyzeConversations 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 Azure.Operation<BinaryData> AnalyzeConversations (Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member AnalyzeConversations : Azure.WaitUntil * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Operation<BinaryData>
override this.AnalyzeConversations : Azure.WaitUntil * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Operation<BinaryData>
Public Overridable Function AnalyzeConversations (waitUntil As WaitUntil, content As RequestContent, Optional context As RequestContext = Nothing) As Operation(Of BinaryData)

Paramètres

waitUntil
WaitUntil

Completed si la méthode doit attendre pour retourner jusqu’à ce que l’opération de longue durée soit terminée sur le service ; Started si elle doit être retournée 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 de Long-Running Azure.Core.

content
RequestContent

Contenu à envoyer en tant que corps de la demande.

context
RequestContext

Contexte de la 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 AnalyzeConversations avec les paramètres requis 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 {
    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 = client.AnalyzeConversations(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 AnalyzeConversations 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 = client.AnalyzeConversations(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 à