本文介绍如何以异步回调获取听悟Agent任务结果。
听悟Agent任务创建接口为异步接口。您可通过两种方式获取结果:
主动轮询查询接口(参见汽车销售服务洞察API参考或购车客户画像API参考)
配置回调通知(本文档核心内容)
前提条件
开通通义听悟 Agent 服务。
若使用阿里云事件总线,需开通事件总线EventBridge并授权。
注意事项
仅SDK/API调用触发回调,阿里云百炼提交的任务不触发
HTTP回调与EventBridge回调的
data
字段一致两种回调方式的通知节奏相同
基于HTTP进行回调
步骤1:构建回调接收服务
构建HTTP服务接收回调消息:
package com.alibaba.langpower;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@SpringBootApplication
public class TingwuAgentCallbackDemoApplication {
public static void main(String[] args) {
SpringApplication.run(TingwuAgentCallbackDemoApplication.class, args);
}
@PostMapping("/tingwu-agent/callback")
@ResponseBody
public String receiveTingwuAgentCallbackEvent(@RequestBody String data) {
System.out.println("Received callback data: \n" + data);
return "Callback received!";
}
}
步骤2:测试回调服务
使用curl验证服务可用性:
# 将 {your-external-service-url} 替换为实际的URL
curl --request POST 'http://{your-external-service-url}/tingwu-agent/callback' \
--header 'Content-Type: application/json' \
--data '{
"output": {
"test": "checkSyncConf1753325301***"
},
"requestId": "61b093d1200e4286ae5d5b15448698f2"
}'
步骤3:配置回调参数
进入阿里云百炼控制台,创建或选择已创建的应用,单击调试配置,进入配置界面。回调方式选择HTTP post协议,填写真实回调地址并发布应用。
步骤4:验证回调结果
使用SDK创建任务后(参见SDK文档),回调服务将分阶段接收:
阶段1:接收转写任务信息
{ "output": { "transcriptionPath": "https://agentic-resource-pre.oss-cn-hangzhou.aliyuncs.com/agentic/prepub/CommonDataField/transcription/1627865****/llm-3cx2a3o4n8y****/2025/07/24/5c6117f77a274cf8b795c8749c28b****?Expires=175341****&OSSAccessKeyId=LTAI5tKZP7TuS7QuF8TYN****&Signature=HEXgIeUVMuTbgyJEu8IIZc1k****", "status": 1, "taskInfo": { "appId": "tw_gDEAnYwAIs****", "dataId": "fgVnGZkX5x****", "model": "tingwu-automotive-service-insights", "userId": "1627865****", "userSpaceId": "llm-3cx2a3o4n8y****" } }, "requestId": "5038efee3f3a448bb600fc5617fc****" }
阶段2:接收任务结果
{ "output": { "transcriptionPath": "https://agentic-resource-pre.oss-cn-hangzhou.aliyuncs.com/agentic/prepub/CommonDataField/transcription/1627865****/llm-3cx2a3o4n8y****/2025/07/24/5c6117f77a274cf8b795c8749c28b****?Expires=175341****&OSSAccessKeyId=LTAI5tKZP7TuS7QuF8TYN****&Signature=7XmIRXMiRQCmy%2B7tkvqiw76****", "status": 0, "saleInsightsPath": "https://agentic-resource-pre.oss-cn-hangzhou.aliyuncs.com/agentic/prepub/CommonDataField/saleInspec/1627865****/llm-3cx2a3o4n8y****/2025/07/24/7b6271d72bc4408b8e2801ebfcf2****?Expires=175341****&OSSAccessKeyId=LTAI5tKZP7TuS7QuF8TYN****&Signature=HEVhbNDZw%2FTwrI0eLdnCs90****", "serviceInsightsPath": "https://agentic-resource-pre.oss-cn-hangzhou.aliyuncs.com/agentic/prepub/CommonDataField/servInspec/1627865****/llm-3cx2a3o4n8y****/2025/07/24/b8574b1b92184d4caae003408896****?Expires=175341****&OSSAccessKeyId=LTAI5tKZP7TuS7QuF8TYN****&Signature=YzlF2SYFbG4LhtDTWisMgN7A****", "taskInfo": { "appId": "tw_gDEAnYwAIs****", "dataId": "fgVnGZkX5x****", "model": "tingwu-automotive-service-insights", "userId": "1627865****", "userSpaceId": "llm-3cx2a3o4n8y****" } }, "requestId": "6005f5c621794168a508cb2dff3a****" }
基于阿里云事件总线进行回调
步骤1:创建事件规则
地域选择华北2(北京)
单击创建规则,配置基本信息
配置事件模式
事件源:
acs.tingwuagent
事件类型:按需选择
配置事件目标(以RocketMQ为例,EventBridge会将tingwuAgent的回调消息投递到相应的EventBridge实例中)
单击创建按钮
步骤2:配置回调方式
进入阿里云百炼控制台,创建或选择已创建的应用,单击调试配置,进入配置界面。回调方式选择事件总线并发布应用。
步骤3:验证回调结果
使用SDK创建一个客户画像分析任务,然后在EventBridge中的default总线中,看到两条有tingwuAgent发送的回调消息。
在配置好的rocketMq实例中查看EventBridge路由到其中的消息,若为下图所示则回调成功。
事件类型以及回调事件协议
事件类型 | 事件描述 | 事件协议参考 |
tingwuagent:TaskStateUpdated:AgentSubTaskCompleted | 子任务完成后的回调消息。 | |
tingwuagent:TaskStateUpdated:AgentTaskFailed | 任务失败的回调消息。 | |
tingwuagent:TaskStateUpdated:AgentWholeTaskCompleted | 整个任务完成后的回调消息。 |
事件总线通知节奏
Agent的结果会分为几个阶段进行返回,下面是各Agent的通知节奏。
任务成功:
tingwuagent:TaskStateUpdated:AgentSubTaskCompleted:转写任务完成
tingwuagent:TaskStateUpdated:AgentWholeTaskCompleted:所有任务完成
任务失败:收到tingwuagent:TaskStateUpdated:AgentTaskFailed回调通知