ConversationAnalysisClient.AnalyzeConversationsAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
[Método Protocol] Enviar trabajo de análisis para conversaciones
- Este método de protocolo permite la creación explícita de la solicitud y el procesamiento de la respuesta para escenarios avanzados.
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))
Parámetros
- waitUntil
- WaitUntil
Completed si el método debe esperar a que se devuelva hasta que se haya completado la operación de larga duración en el servicio; Started si debe devolverse después de iniciar la operación. Para más información sobre las operaciones de larga duración, consulte Ejemplos de operaciones de azure.Core Long-Running.
- content
- RequestContent
Contenido que se va a enviar como el cuerpo de la solicitud.
- context
- RequestContext
Contexto de solicitud, que puede invalidar los comportamientos predeterminados de la canalización de cliente por llamada.
Devoluciones
que Operation representa una operación asincrónica en el servicio.
Excepciones
content
es null.
El servicio devolvió un código de estado no correcto.
Ejemplos
En este ejemplo se muestra cómo llamar a AnalyzeConversationsAsync con los parámetros necesarios y el contenido de la solicitud, y cómo analizar el resultado.
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());
En este ejemplo se muestra cómo llamar a AnalyzeConversationsAsync con todos los parámetros y el contenido de la solicitud, y cómo analizar el resultado.
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());
Comentarios
Puede encontrar información adicional en la documentación de la API REST del servicio: https://learn.microsoft.com/rest/api/language/2023-04-01/analyze-conversation/submit-job
Se aplica a
Azure SDK for .NET