你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ConversationAnalysisClient.AnalyzeConversationsAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
[协议方法]提交用于对话的分析作业
- 此 协议方法 允许显式创建请求并处理高级方案的响应。
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))
参数
- waitUntil
- WaitUntil
Completed 如果方法应等待返回,直到服务上长时间运行的操作完成; Started 如果它应在启动操作后返回,则为 。 有关长时间运行的操作的详细信息,请参阅 Azure.Core Long-Running 操作示例。
- content
- RequestContent
要作为请求正文发送的内容。
- context
- RequestContext
请求上下文,可以基于每个调用替代客户端管道的默认行为。
返回
表示 Operation 服务上的异步操作的 。
例外
content
为 null。
服务返回了非成功状态代码。
示例
此示例演示如何使用所需的参数和请求内容调用 AnalyzeConversationsAsync,以及如何分析结果。
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());
此示例演示如何使用所有参数和请求内容调用 AnalyzeConversationsAsync,以及如何分析结果。
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());
注解
可以在服务 REST API 文档中找到其他信息: https://video2.skills-academy.com/rest/api/language/2023-04-01/analyze-conversation/submit-job