调用工作流应用
功能介绍
该接口用于运行场景化应用,支持在指定的项目、工作流和对话上下文中执行工作流逻辑。接口支持流式响应模式,可以根据需要返回增量执行结果,适用于实时交互场景。
适用场景:
-
在项目中运行预定义的工作流。
-
支持调试模式和发布模式,适用于不同开发和生产环境。
-
支持流式响应,适用于需要实时反馈的场景(如聊天机器人、实时数据分析等)。
URI
POST /v1/{project_id}/workflows/{workflow_id}/conversations/{conversation_id}
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释: 当前租户项目ID。 获取方法请参考获取项目ID。 约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
workflow_id |
是 |
String |
参数解释: 工作流应用的ID。 获取方式:
约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
conversation_id |
是 |
String |
参数解释: 会话ID,每个会话的唯一标识符。用户可将会话ID设置为任意字符串,例如“123e4567e89b12d3a456426614174000”,无需在其他地方获取。 约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
workspace_id |
否 |
String |
参数解释: 工作空间ID,用于标识特定的工作空间。 获取方法请参考获取工作空间ID。 约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
version |
否 |
String |
参数解释: 发布版本号。 获取方式:
约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
X-Invoke-Mode |
否 |
String |
参数解释: 该参数用于标识工作流应用运行的模式。 约束限制: 不涉及。 取值范围:
默认取值: published。 |
|
stream |
否 |
Boolean |
参数解释: 是否开启流式调用。
约束限制: 不涉及。 取值范围:
默认取值: true。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
inputs |
是 |
Map<String,Object> |
参数解释: 用户提出的问题,作为运行工作流的输入,与工作流开始节点输入参数对应。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
plugin_configs |
否 |
Array of PluginConfig objects |
参数解释: 插件配置信息。 约束限制: 不涉及。 取值范围: 当工作流关联插件节点,并且插件是“用户级鉴权”时,需要配置对应的鉴权信息。其他情况该参数无需传值,plugin_configs传空数组。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
plugin_id |
否 |
String |
参数解释: 插件ID。 获取方式:
约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
config |
否 |
Map<String,String> |
参数解释: 配置插件信息。当工作流关联插件节点,并且插件是“用户级鉴权”时,需要在此配置对应的鉴权信息。例如,针对如下插件,config可以配成:{"key2": "value"}。其他情况该参数无需传值,plugin_configs传空数组即可。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
event |
Map<String,Object> |
参数解释: 工作流最终输出内容表示工作流运行。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
data |
data object |
参数解释: 工作流助手回复内容。例如,提问器节点问题消息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
text |
String |
工作流输出内容消息块。 |
|
index |
Integer |
消息块索引。 |
|
node_id |
String |
节点 ID。 |
|
node_type |
String |
节点类型。 |
|
node_name |
String |
节点名称。 |
|
workflow_id |
String |
工作流ID。 |
|
workflow_name |
String |
工作流名称。 |
|
createdTime |
Integer |
创建时间。 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
event |
Map<String,Object> |
参数解释: 工作流最终输出内容表示工作流运行。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
data |
data object |
参数解释: 工作流助手回复内容。例如,提问器节点问题消息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求示例
-
调用工作流
{ "method" : "POST", "url" : "https://api.example.com/v1/12345/workflows/67890/conversations/67890", "headers" : { "Content-Type" : "application/json", "X-Auth-Token" : "MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...", "stream" : true }, "body" : { "inputs" : { "query" : "你好" }, "plugin_configs" : [ { "plugin_id" : "xxxxxxxxx", "config" : { "key" : "value" } } ] } }
响应示例
状态码:200
成功响应。
{
"event" : "message",
"data" : {
"text" : null,
"index" : 11,
"node_id" : "node_end",
"node_type" : "End",
"node_name" : "结束",
"workflow_id" : "cd7a8f33-66e3-455c-b008-a6b18dd27319",
"workflow_name" : "flowouttest",
"createdTime" : 1760169416635
},
"createdTime" : 1760169416635
}
状态码:500
错误响应。
{
"event" : "error",
"data" : {
"text" : null,
"index" : 11,
"node_id" : "node_end",
"node_type" : "End",
"node_name" : "结束",
"code" : "101563",
"message" : "执行报错,错误码:101563,错误信息:Get model streaming output error, msg-Model request error: ",
"workflow_id" : "cd7a8f33-66e3-455c-b008-a6b18dd27319",
"workflow_name" : "flowouttest",
"createdTime" : 1760169416635
},
"createdTime" : 1760169416635
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
成功响应。 |
|
500 |
错误响应。 |
错误码
请参见错误码。