调用工作流
功能介绍
通过调用创建好的工作流API,输入问题,将得到工作流执行的结果。
URI
POST /v1/{project_id}/workflows/{workflow_id}/conversations/{conversation_id}
获取URI方式请参见请求URI。
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方法请参见获取项目ID。 |
workflow_id |
是 |
String |
Workflow ID,获取方式如下: 在“Agent开发”页面,左侧导航栏选择“工作台 > 工作流”,在所需工作流中单击“ |
conversation_id |
是 |
String |
会话ID,唯一标识每个会话的标识符,可将会话ID设置为任意值,使用标准UUID格式。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。 |
Content-Type |
是 |
String |
发送的实体的MIME类型,参数值为“application/json”。 |
stream |
否 |
Boolean |
是否开启流式调用。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
inputs |
是 |
Map<String, Object> |
用户提出的问题,作为运行工作流的输入,与工作流开始节点输入参数对应。包含默认字段query为用户输入。 |
plugin_configs |
否 |
List<PluginConfig> |
插件配置,当工作流有配置用户自定义插件节点时,可能需要配置鉴权信息等,具体结构定义详见表4。 |
响应参数
非流式(Header中的stream参数为false)
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
outputs |
Map<String, Object> |
工作流最终输出内容,支持多个参数。 |
messages |
List<Message> |
工作流助手回复内容,如提问器节点问题消息,详见表6。 |
status |
Map<String, Object> |
状态,包含状态码code,状态描述desc。 |
start_time |
Long |
开始时间。 |
end_time |
Long |
结束时间。 |
流式(Header中的stream参数为true或不传)
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
data |
String |
stream=true时,执行工作流的消息以流式形式返回。生成的内容以增量的方式逐步发送回来,每个data字段均包含一部分生成的内容,直到所有data返回,响应结束。 |
参数 |
参数类型 |
描述 |
---|---|---|
event |
String |
数据单元类型,有以下几种类型:
|
data |
Object |
消息块内容,不同event的消息块内容不同。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_time |
Long |
工作流开始时间。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_time |
Long |
工作流开始时间。 |
end_time |
Long |
工作流结束时间。 |
outputs |
Map<String, Object> |
工作流最终输出内容,支持多个参数。 |
status |
Map<String, Object> |
状态,包含状态码code,状态描述desc。 |
参数 |
参数类型 |
描述 |
---|---|---|
text |
String |
工作流输出内容消息块。 |
index |
Integer |
消息块索引。 |
node_id |
String |
节点id。 |
node_type |
String |
节点类型。 |
node_name |
String |
节点名。 |
参数 |
参数类型 |
描述 |
---|---|---|
code |
String |
工作流执行错误码。 |
message |
String |
工作流执行错误消息。 |
node_id |
String |
节点id。 |
node_type |
String |
节点类型。 |
node_name |
String |
节点名。 |
请求示例
POST https://{endpoint}/v1/{project_id}/agent-run/workflows/{workflow_id}/conversations/{conversation_id}
Request Header:
Content-Type: application/json
X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
stream: true
Request Body:
{
"inputs": {
"query": "你好"
},
"plugin_configs": [
{
"plugin_id": "xxxxxxxxx",
"config": {
"key": "value"
}
}
]
}
响应示例
非流式(Header中的stream参数为false)
{
"conversation_id": "2c90493f-803d-431d-a197-57543d414317",
"messages": [
{
"role": "assistant",
"content": "{\"inputs\": [{\"actualType\": \"string\", \"sourceType\": \"null\", \"description\": \"姓名\", \"name\": \"name\", \"type\": \"string\", \"required\": true}]}",
"nodeId": "node_1745928389632",
"nodeType": "Input",
"nodeName": "输入"
}
],
"status": {
"code": 3,
"desc": "waiting"
},
"start_time": 1734336269313,
"end_time": 1734336270908
}
提问器节点返回:
{
"conversation_id": "f9a5540f-0c92-4f28-bd6e-f96ce04f5cc81",
"messages": [
{
"role": "assistant",
"content": "请您提供姓名, 年龄相关的信息",
"nodeId": "node_1745929628452",
"nodeType": "Questioner",
"nodeName": "提问器"
}
],
"status": {
"code": 3,
"desc": "waiting"
},
"start_time": 1745929778250,
"end_time": 1745929779951
}
结束节点返回:
{
"conversation_id": "2c90493f-803d-431d-a197-57543d414317",
"outputs": {
"responseContent": "你好!有什么我可以帮助你的吗?"
},
"messages": [],
"status": {
"code": 1,
"desc": "succeeded"
},
"start_time": 1734337068533,
"end_time": 1734337082545
}
流式(Header中的stream参数为true或不传)
输入节点返回:
data:{"event":"workflow_started","data":{"start_time":1745929087614}}
data:{"event":"message","data":{"text":"{\"inputs\": [{\"actualType\": \"string\", \"sourceType\": \"null\", \"description\": \"姓名\", \"name\": \"name\", \"type\": \"string\", \"required\": true}]}","index":0,"node_id":"node_1745928389632","node_type":"Input","node_name":"输入"}}
data:{"event":"message","data":{"text":"","node_id":"node_1745928389632","node_type":"Input","node_name":"输入","is_finished":true}}
data:{"event":"end"}
提问器节点返回:
data:{"event":"workflow_started","data":{"start_time":1745929709955}}
data:{"event":"message","data":{"text":"请您提供姓名, 年龄相关的信息","index":0,"node_id":"node_1745929628452","node_type":"Questioner","node_name":"提问器"}}
data:{"event":"message","data":{"text":"","node_id":"node_1745929628452","node_type":"Questioner","node_name":"提问器","is_finished":true}}
data:{"event":"end"}
结束节点返回:
data:{"event":"workflow_started","data":{"start_time":1745929897770}}
data:{"event":"message","data":{"text":"","index":0,"node_id":"node_end","node_type":"End","node_name":"结束"}}
data:{"event":"message","data":{"text":"你好","index":1,"node_id":"node_end","node_type":"End","node_name":"结束"}}
data:{"event":"message","data":{"text":"!","index":2,"node_id":"node_end","node_type":"End","node_name":"结束"}}
data:{"event":"message","data":{"text":"有什么我可以帮助你的吗?","index":3,"node_id":"node_end","node_type":"End","node_name":"结束"}}
data:{"event":"message","data":{"text":"","node_id":"node_end","node_type":"End","node_name":"结束","is_finished":true}}
data:{"event":"workflow_finished","data":{"status":{"code":1,"desc":"succeeded"},"outputs":{"responseContent":"你好!有什么我可以帮助你的吗?"},"start_time":1745929897770,"end_time":1745929898600}}
data:{"event":"end"}
状态码
请参见状态码。
错误码
请参见错误码。