1、支持版本管理
2、mcp节点、workflow节点支持选择版本号
3、llm节点支持List
4、查看历史已上线工作流搭建详情
5、修复运行时相关bug
6、mcp节点支持array复杂对象
7、支持并行调用
8、支持日志运维
在Agent配置页面选择【已发布】的工作流(如下图),然后以SDK或HTTP方式调用Agent即可;如何调用Agent参考:Agent调用文档


类似Agent的调用方式,平台提供JAVA SDK和HTTP两种调用方式(推荐使用JAVA SDK),具体如下:
工作流执行分为同步和异步调用,均是流式返回结果。默认是同步调用,即调用后等待结果的输出;如果主动选择异步调用,则还需要配套监听开放平台的TMC消息(topic:taobao_agent_WorkflowAsyncResult)获取到工作流执行的结果。
POST /open/api/v1/workflow/execute
https://open-agent-runtime.taobao.com/open/api/v1/workflow/execute
必须的请求头(requestHeader)
X-App-Key: your_app_key // 应用appkey X-Timestamp: 1640995200000 // 获取系统当前时间戳 X-Nonce: abc123def456ghi789jkl012mno345pqr //随机字符串(建议32位),每次请求都得重新生成 X-Signature: a1b2c3d4e5f678901234567890abcdef123456789 // 使用签名算法计算得出,每次请求都得重新生成 X-Signature-Algorithm: HMAC-SHA256 // 固定值 X-Signature-Version: v1 // 固定值
function generateSignature(appKey, appSecret, timestamp, nonce, method, path, openIdAppKey = null) {
// 1. 构造签名字符串
signString = "appKey=" + appKey +
"×tamp=" + timestamp +
"&nonce=" + nonce +
"&method=" + method.toUpperCase() +
"&path=" + path
if (openIdAppKey != null && openIdAppKey != "") {
signString = signString + "&openIdAppKey=" + openIdAppKey
}
// 注意:签名字符串不包含body内容
// 2. 确定签名密钥
signSecret = appSecret
if (openIdAppKey != null && openIdAppKey != "" && openIdAppKey != appKey) {
signSecret = appSecret + "|" + openIdAppSecret // 使用openIdAppSecret
}
// 3. 使用HMAC-SHA256生成签名
signature = hmac_sha256(signString, signSecret)
// 4. 转换为十六进制字符串
return hex(signature)
}
requestBody:
{
"openId": "AAH4C_-NAOaPuehU232fefe", // openId定位唯一用户
"workflowCode": "workflow_19810auczs", // 必选,工作流的标识
"sync": true, // true表示同步,false表示异步,默认是true
"query": "1231234", //可选,查询文本,工作流可以基于此查询进行语义理解和任务分发。
"input": {
"question": "11",
"text": "{\"chill\":\"1\"}"
}, //工作流输入参数集合
"systemParams": {
"tbOauthToken": "61028165fdb2ba488256ebc41c772474b09016934"
}, // 系统参数
"originBizParams":{
"messageIds":[
"3434343",
"4343432"
]
} // 业务参数,当前可选,主要用于业务数据埋点使用,后续会以具体业务场景模式进行规范
}
Respons Body:
{
"workflowInstanceId": "214003", // 工作流实例ID
"workflowCode": "workflow_19810auczs", // 工作流标识
"status": "RUNNING" // 工作流执行状态
}
{
"workflowInstanceId": "214003", // 工作流实例ID
"workflowCode": "workflow_19810auczs", // 工作流标识
"status": "SUCCESS", // 工作流执行状态
"result": {
"output": 293334304,
"qwere": "23",
"qwdqw": "e"
} // 工作流执行完成后的最终结果集
}
jar 包地址:
支持jdk8;11.18日更新
Tip:1、若启动报错 Caused by: java.lang.NoSuchMethodError: 'void reactor.core.publisher.Hooks.enableAutomaticContextPropagation()',说明 reactor-core 存在依赖冲突,需确保实际使用的 reactor-core 版本为 3.7.6。
初始化sdk client
public static OpenTaoAgentClient createClient() {
// 配置环境header
OkHttpOption httpOption = OkHttpOption.builder()
.build();
return OpenTaoAgentClient.builder()
.appKey("xxx")
.appSecret("xxxx")
.apiKey(API_KEY)
.httpOption(httpOption)
.build();
}
// API_KEY 暂时固定传递TOP_SDK_INVOKE
OpenTaoAgentClient client = createClient();
请求参数
| 名称 |
类型 |
必填 |
描述 |
示例值 |
| workflowCode |
string |
是 |
工作流标识 |
workflow_19810auczs |
| workflowVersion |
sting |
是 |
工作流发布上线的版本号 |
1.0.0 |
| openId |
string |
否 |
openId,平台使用该参数定位用户(商家或消费者),用于工作流等;如果工作流中用到了用户维度的工作调用等等,该参数则为必填 |
xxxxx |
| sellerOpenId |
string |
否 |
sellerOpenId,平台使用该参数定位商家,用于专属知识库调用等; |
|
| sync |
boolean |
否 |
true表示同步,false表示异步;默认是同步,如果是异步,则需要配合开放平台的TMC消息进行结果的获取 |
true |
| query |
String |
否 |
查询文本,用于传递用户的自然语言查询。工作流可以基于此查询进行语义理解和任务分发。 |
|
| input |
Map<String,Object> |
否 |
工作流开始节点使用的参数集合,会直接传递给工作流的第一个节点 |
|
| systemParams |
Map<String,Object> |
否 |
系统参数集合 |
|
| originBizParams |
Map<String,Object> |
否 |
业务参数集合,后续指定业务需要传入固定格式的业务数据便于埋点 |
Map<String, Object> promptParams = new HashMap<>();
promptParams.put("question", "11");
promptParams.put("text", "{\"chill\":\"1\"}");
Map<String, Object> systemParams = new HashMap<>();
systemParams.put("tbOauthToken", "61028165fdb2b56ebc41c772474b4a2f2211509016934");
WorkflowInput input = WorkflowInput.builder()
.workflowCode("workflow_19810auczs")
.workflowVersion("1.0.0")
// 同步调用
.sync(true)
.query("1231234")
.input(promptParams)
.openId("AAH4C_-NAOaPuehU0Z84Kf")
.systemParams(systemParams)
.build();
client.executeWorkflow(input)......
①MISSING_AUTH_HEADERS:缺少必要的认证头
②INVALID_APP_KEY:无效的应用标识
③TIMESTAMP_EXPIRED:时间戳已过期
④DUPLICATE_NONCE:随机数重复
⑤SIGNATURE_VERIFY_FAILED:签名验证失败
1、支持版本管理
2、mcp节点、workflow节点支持选择版本号
3、llm节点支持List
4、查看历史已上线工作流搭建详情
5、修复运行时相关bug
6、mcp节点支持array复杂对象
7、支持并行调用
8、支持日志运维
Q:通过 sdk 发起工作流调用报错
A:请确保填写正确的线上版本号,版本号可在工作流列表中查看
Q:如何查看工作流日志
A:操作路径:agent 管理 -> 日志 -> 工作流 tab
