更新时间:2025-01-05 GMT+08:00
分享

工作流

功能介绍

通过调用创建好的工作流API,输入问题,将得到工作流执行的结果。

URI

获取URI方式请参见请求URI

POST /v1/{project_id}/agent-run/workflows/{workflow_id}/conversations/{conversation_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参见获取项目ID

workflow_id

String

Workflow ID,获取方式如下:

在“Agent开发”页面,左侧导航栏选择“工作台 > 工作流”,在所需工作流中单击“ > 复制ID”。

conversation_id

String

会话ID,唯一标识每个会话的标识符,可将会话ID设置为任意值,使用标准UUID格式。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。

Content-Type

String

发送的实体的MIME类型,参数值为“application/json”。

stream

Boolean

是否开启流式调用。

  • true:开启
  • false:不开启
说明:

当前Agent只支持流式调用,需设置为true。

表3 请求Body参数

参数

是否必选

参数类型

描述

inputs

Map<String, Object>

用户提出的问题,作为运行工作流的输入,与工作流开始节点输入参数对应。

plugin_configs

List<PluginConfig>

插件配置,当工作流有配置用户自定义插件节点时,可能需要配置鉴权信息等,具体结构定义详见表4

表4 PluginConfig参数

参数

是否必选

参数类型

描述

plugin_id

String

插件Id,获取方式如下:

在“Agent开发”页面,左侧导航栏选择“工作台 > 插件”,在所需插件中单击“ > 复制ID”。

plugin_configs

Map<String, String>

插件配置,对应查询需要运行时传值的参数。

响应参数

流式(Header中的stream参数为true)

状态码: 200

表5 流式输出的数据单元

参数

参数类型

描述

data

String

stream=true时,执行工作流的消息以流式形式返回。生成的内容以增量的方式逐步发送回来,每个data字段均包含一部分生成的内容,直到所有data返回,响应结束。

表6 流式输出的数据单元

参数

参数类型

描述

event

String

数据单元类型,有以下几种类型:

  • WORKFLOW_STARTED,开始节点,表示开始调用模型进行会话。
  • MESSAGE,消息节点,表示工作流执行过程中流式返回的消息。
  • WORKFLOW_NODE_MESSAGE,节点调试信息,当debug开启时可以看到各个节点响应。
  • WORKFLOW_FINISHED,全量响应节点,表示最终模型回复的全量信息
  • ERROR,错误节点,表示工作流执行错误信息。
  • END,结束节点,标识工作流执行结束。

data

Object

消息块内容,不同event的消息块内容不同。

流式(Header中的stream参数为false或不传)

状态码: 200

表7 非流式输出的数据单元

参数

参数类型

描述

outputs

Map<String, Object>

工作流最终输出内容,支持多个参数。

messages

List<Message>

工作流助手回复内容,如提问器节点问题消息,详见表8

status

Map<String, Object>

状态,包含状态码code,状态描述desc。

start_time

Long

开始时间。

end_time

Long

结束时间。

表8 Message

参数

参数类型

描述

role

String

会话角色,支持user、assistant。

content

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"
      }
    }
  ]
}

响应示例

提问器节点返回:

{
    "conversation_id": "2c90493f-803d-431d-a197-57543d414317",
    "messages": [
        {
            "role": "assistant",
            "content": "请您提供年龄相关的信息"
        }
    ],
    "status": {
        "code": 1,
        "desc": "succeeded"
    },
    "start_time": 1734336269313,
    "end_time": 1734336270908
}

end节点返回:

{
    "conversation_id": "2c90493f-803d-431d-a197-57543d414317",
    "outputs": {
        "responseContent": "18"
    },
    "messages": [],
    "status": {
        "code": 1,
        "desc": "succeeded"
    },
    "start_time": 1734337068533,
    "end_time": 1734337082545
}

相关文档