【通义晓蜜CCAI实践】通过模板ID调用通义晓蜜CCAI-对话分析AIO应用
根据对话内容,记录通话中最核心的信息。对话分析AIO,即对话分析all-in-one API,是基于深度调优的对话大模型, 为营销服类产品提供智能化升级所需的生成式摘要总结、质检、分析等能力的官方应用。过模板ID调用通义晓蜜CCAI-对话分析AIO应用
对话分析AIO,即对话分析all-in-one API,是基于深度调优的对话大模型, 为营销服类产品提供智能化升级所需的生成式摘要总结、质检、分析等能力的官方应用。
产品能力
-
多指令精准执行
-
总结摘要:根据对话内容,记录通话中最核心的信息。
-
信息抽取:根据指令,抽取并组织关键信息。
-
质检分析:按照指令进行检测,例如情绪、敏感词等
-
多指令任务:生成标题、生成关键词、生成摘要、维度检测、信息抽取等。
-
多模型选择
-
模型配置:平台提供通义晓蜜-Turbo、通义晓蜜-Plus两种模型规格。
-
多指令模板
-
指令模板:平台提供官方预置常用指令模板并支持管理自定义模板。
前提条件
-
本文向您介绍通义晓蜜CCAI-对话分析AIO应用SDK的安装、使用及注意事项。
-
如果您还未创建AccessKeyID和AccessKeySecret,请参考AccessKey、AppID及AgentKey获取方式。
-
各API详细出入参说明请查看左侧目录中的API目录。
接口入参位置
workspaceId
-
点击右上角主账号管理,进入业务空间管理页面。
-
业务空间管理列表中Workspace ID为入参中workspaceId。
appId
-
点击应用广场,点击通义晓蜜CCAI-对话分析AIO的查看详情。
-
点击上方我的应用,展示应用卡片列表。
-
每个卡片上的应用ID即为接口参数中appId。
templateIds
-
点击应用广场,点击通义晓蜜CCAI-对话分析AIO的查看详情。
-
点击上方我的应用,展示应用卡片列表。
-
点击管理进入对应的应用卡片。
-
点击自定义指令模板,切换为专业构建模式。
-
点击右上方指令模板管理。
-
自定义模板列表中模板ID为入参中templateIds。
-
如果还未创建自定义模板,请直接点击右上角保存指令模板按钮。
安装SDK
同步Java
异步Java
Python
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>contactcenterai20240603</artifactId>
<version>2.0.0</version>
</dependency>
异步流式调用
说明
请将workspaceId替换示例中的YOUR_WORKSPACEID,AccessKeyID替换示例中的YOUR_ACCESS_KEY_ID,AccessKeySecret替换示例中的YOUR_ACCESS_KEY_SECRET,appId替换示例中的YOUR_APPID,templateIds替换示例中的YOUR_TEMPLATE,代码才能正常运行。
public class CcaiPaasTest {
private static String workspaceId="YOUR_WORKSPACEID";
private static String accessKeyId="YOUR_ACCESS_KEY_ID";
private static String accessKeySecret="YOUR_ACCESS_KEY_SECRET";
private static String appId="YOUR_APPID";
private static Long templateId="YOUR_TEMPLATE";
private static StaticCredentialProvider provider = StaticCredentialProvider.create(
Credential.builder()
.accessKeyId(accessKeyId)
.accessKeySecret(accessKeySecret)
.build()
);
private static AsyncClient client = AsyncClient.builder()
.region("cn-shanghai")
.credentialsProvider(provider)
.serviceConfiguration(Configuration.create()
.setSignatureVersion(SignatureVersion.V3)
.setSignatureAlgorithmV3(SignatureAlgorithm.ACS3_HMAC_SHA256)
).overrideConfiguration(
ClientOverrideConfiguration.create()
.setProtocol("HTTPS")
.setEndpointOverride("contactcenterai.cn-shanghai.aliyuncs.com")
).build();
public static void main(String[] args) throws Exception{
//对话内容
List<RunCompletionRequest.Sentences> sentenceDTOList = new ArrayList<>();
RunCompletionRequest.Sentences sentenceDto1 = RunCompletionRequest.Sentences.builder().role("user").text("我要办理信用卡").build();
RunCompletionRequest.Sentences sentenceDto2 = RunCompletionRequest.Sentences.builder().role("agent").text("好的,稍等10分钟,我现在为您办理,请先提供相关的个人信息").build();
sentenceDTOList.add(sentenceDto1);
sentenceDTOList.add(sentenceDto2);
RunCompletionRequest.Dialogue dialogue = RunCompletionRequest.Dialogue.builder().sessionId("session_01_asdfasdfasd")
.sentences(sentenceDTOList).build();
//属性信息
List<RunCompletionRequest.Fields> fieldList = new ArrayList<>();
RunCompletionRequest.Fields field1 = RunCompletionRequest.Fields.builder().name("姓名").desc("用户的名称").build();
RunCompletionRequest.Fields field2 = RunCompletionRequest.Fields.builder().name("信用卡号").desc("用户的信用卡号").build();
fieldList.add(field1);
fieldList.add(field2);
//构建请求参数
RunCompletionRequest completionParam = RunCompletionRequest.builder()
.workspaceId(workspaceId).appId(appId).requestConfiguration(RequestConfiguration.create()
.setHttpMethod(HttpMethod.POST)).modelCode("tyxmTurbo").dialogue(dialogue).fields(fieldList).templateIds(Arrays.asList(templateId)).stream(true).build();
System.out.println(JSON.toJSONString(completionParam));
//发送请求
ResponseIterable<RunCompletionResponseBody> x = client.runCompletionWithResponseIterable(completionParam);
ResponseIterator<RunCompletionResponseBody> iterator = x.iterator();
String lastTxt="";
while (iterator.hasNext()) {
RunCompletionResponseBody event = iterator.next();
//System.out.println(event.getText());
//System.out.println(event.getFinishReason());
//System.out.println(event.getRequestId());
lastTxt=event.getText();
}
System.out.println("ALL***********************");
System.out.println(lastTxt);
System.out.println("请求成功的请求头值:");
System.out.println(x.getStatusCode());
System.out.println(x.getHeaders());
}
}
异步非流式调用
说明
请将workspaceId替换示例中的YOUR_WORKSPACEID,AccessKeyID替换示例中的YOUR_ACCESS_KEY_ID,AccessKeySecret替换示例中的YOUR_ACCESS_KEY_SECRET,appId替换示例中的YOUR_APPID,templateIds替换示例中的YOUR_TEMPLATE,代码才能正常运行。
Java
public class CcaiPaasTest {
private static String workspaceId="YOUR_WORKSPACEID";
private static String accessKeyId="YOUR_ACCESS_KEY_ID";
private static String accessKeySecret="YOUR_ACCESS_KEY_SECRET";
private static String appId="YOUR_APPID";
private static Long templateId="YOUR_TEMPLATE";
private static StaticCredentialProvider provider = StaticCredentialProvider.create(
Credential.builder()
.accessKeyId(accessKeyId)
.accessKeySecret(accessKeySecret)
.build()
);
private static AsyncClient client = AsyncClient.builder()
.region("cn-shanghai")
.credentialsProvider(provider)
.serviceConfiguration(Configuration.create()
.setSignatureVersion(SignatureVersion.V3)
.setSignatureAlgorithmV3(SignatureAlgorithm.ACS3_HMAC_SHA256)
).overrideConfiguration(
ClientOverrideConfiguration.create()
.setProtocol("HTTPS")
.setEndpointOverride("contactcenterai.cn-shanghai.aliyuncs.com")
).build();
public static void main(String[] args) throws Exception{
//对话内容
List<RunCompletionRequest.Sentences> sentenceDTOList = new ArrayList<>();
RunCompletionRequest.Sentences sentenceDto1 = RunCompletionRequest.Sentences.builder().role("user").text("我要办理信用卡").build();
RunCompletionRequest.Sentences sentenceDto2 = RunCompletionRequest.Sentences.builder().role("agent").text("好的,稍等10分钟,我现在为您办理,请先提供相关的个人信息").build();
sentenceDTOList.add(sentenceDto1);
sentenceDTOList.add(sentenceDto2);
RunCompletionRequest.Dialogue dialogue = RunCompletionRequest.Dialogue.builder().sessionId("session_01_asdfasdfasd")
.sentences(sentenceDTOList).build();
//属性信息
List<RunCompletionRequest.Fields> fieldList = new ArrayList<>();
RunCompletionRequest.Fields field1 = RunCompletionRequest.Fields.builder().name("姓名").desc("用户的名称").build();
RunCompletionRequest.Fields field2 = RunCompletionRequest.Fields.builder().name("信用卡号").desc("用户的信用卡号").build();
fieldList.add(field1);
fieldList.add(field2);
//构建请求参数
RunCompletionRequest completionParam = RunCompletionRequest.builder()
.workspaceId(workspaceId).appId(appId).requestConfiguration(RequestConfiguration.create()
.setHttpMethod(HttpMethod.POST)).dialogue(dialogue).fields(fieldList).templateIds(Arrays.asList(templateId)).stream(false).build();
System.out.println(JSON.toJSONString(completionParam));
//发送请求
CompletableFuture<RunCompletionResponse> x = client.runCompletion(completionParam);
RunCompletionResponse generateCompletionResponse = x.get(10, TimeUnit.SECONDS);
System.out.println(JSON.toJSONString(generateCompletionResponse.getBody()));
System.out.println(generateCompletionResponse.getBody().getText());
System.out.println(generateCompletionResponse.getBody().getRequestId());
}
}
同步非流式调用
说明
请将workspaceId替换示例中的YOUR_WORKSPACEID,AccessKeyID替换示例中的YOUR_ACCESS_KEY_ID,AccessKeySecret替换示例中的YOUR_ACCESS_KEY_SECRET,appId替换示例中的YOUR_APPID,templateIds替换示例中的YOUR_TEMPLATE,代码才能正常运行。
Java
public class CcaiPaasTest {
private static String workspaceId="YOUR_WORKSPACEID";
private static String accessKeyId="YOUR_ACCESS_KEY_ID";
private static String accessKeySecret="YOUR_ACCESS_KEY_SECRET";
private static String appId="YOUR_APPID";
private static Long templateId="YOUR_TEMPLATE";
public static void main(String[] args) throws Exception{
Config config = new Config();
config.setAccessKeyId(accessKeyId).setAccessKeySecret(accessKeySecret).setEndpoint("contactcenterai.cn-shanghai.aliyuncs.com")
.setRegionId("cn-shanghai").setProtocol("HTTPS");
Client client = new Client(config);
RunCompletionRequest request = new RunCompletionRequest();
//对话信息
List<RunCompletionRequest.RunCompletionRequestDialogueSentences> sentenceDTOList = new ArrayList<>();
RunCompletionRequest.RunCompletionRequestDialogueSentences sentenceDto1 = new RunCompletionRequest.RunCompletionRequestDialogueSentences();
sentenceDto1.setRole("user").setText("我要办理信用卡");
RunCompletionRequest.RunCompletionRequestDialogueSentences sentenceDto2 = new RunCompletionRequest.RunCompletionRequestDialogueSentences();
sentenceDto2.setRole("agent").setText("好的,稍等10分钟,我现在为您办理,请先提供相关的个人信息");
sentenceDTOList.add(sentenceDto1);
sentenceDTOList.add(sentenceDto2);
//属性填充
List<RunCompletionRequest.RunCompletionRequestFields> fieldList = new ArrayList<>();
RunCompletionRequest.RunCompletionRequestFields field1 = new RunCompletionRequest.RunCompletionRequestFields();
field1.setName("姓名").setDesc("用户的名称");
RunCompletionRequest.RunCompletionRequestFields field2 = new RunCompletionRequest.RunCompletionRequestFields();
field2.setName("信用卡号").setDesc("用户的信用卡号");
fieldList.add(field1);
fieldList.add(field2);
RunCompletionRequest.RunCompletionRequestDialogue dialogue = new RunCompletionRequest.RunCompletionRequestDialogue();
dialogue.setSessionId("session_01_asdfasdfasd").setSentences(sentenceDTOList);
//构建请求参数
request.setDialogue(dialogue).setStream(false).setModelCode("tyxmTurbo").setFields(fieldList).setTemplateIds(Arrays.asList(templateId));
RunCompletionResponse runCompletionResponse = client.runCompletion(workspaceId, appId, request);
RunCompletionResponseBody responseBody = runCompletionResponse.getBody();
System.out.println(JSON.toJSONString(responseBody));
}
}

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)