目录

一、接口说明

该接口未来将弃用,新用户请参考: workflow2.0

workflow 对外接口:

  • 非流式响应:非流式响应只会给结束节点返回
  • 流式响应:支持message节点信息返回,结束节点信息,以及两个节点流式输出

二、接口信息

请求⽅式 POST
请求地址 https://xingchen-api.xf-yun.com/workflow/v1/run
权限校验 Bearer鉴权

2.1 请求头

参数 取值 说明
Content-Type application/json 给出请求正⽂的⽅式。
Authorization Bearer $XINGCHEN_API_KEY' 鉴权 key
X-Consumer-Username app_id 应用id,注意此字段是过kong鉴权时,由kong加,用户无需关注

2.2 请求体

参数 取值 必传 说明
flow_id string 工作流id,判断工作流是否存在,且与appid的归属关系
uid string 用户id
stream bool 是否启用流式返回:
流式:true
非流式:false
ext object 用于指定一些额外字段,比如一些插件隐藏字段 暂时用不到,当前包括:bot_id和caller
parameters Object 工作流开始节点的输入参数及取值, 你可以在指定工作流的编排页面查看参数列表:{ "input1": "xxxxx", "input2": "xxxxx" }

2.3 响应体

2.3.1 流式响应
参数名称 类型 参数说明
code int 错误码,0为成功,非0表示报错
message string 错误信息描述
id string 服务端会话id,用于标识本次会话
created number 对话创建时间, 单位: s
time_cost number workflow耗时,单位:s
progress number workflow进度条
event string 事件类型,当前支持:
+ Message:工作流节点输出消息,例如消息节点、结束节点的输出消息。可以在 data 中查看具体的消息内容。
+ Error:报错。可以查看 code 和 message,排查问题
+ Done: 表示工作流结束
data object workflow 返回结果 json obj序列化字符串或者字符串
data.node_id string 节点id
data.node_seq int 节点序号
data.node_is_finish bool 节点输出是否结束
data.content string 节点输出数据
usage object token计量,只在工作流结束帧才会给出
usage.question_tokens int 兼容星火大模型,保留字段,可忽略
usage. prompt_tokens int 工作流请求大模型的token
usage. completion_tokens int 工作流大模型回复
usage. total_tokens int 工作流总的token消耗
2.3.2 非流式输出
参数名称 类型 参数说明
code int 错误码,0为成功,非0表示报错
message string 错误信息描述
id string 服务端会话id,用于标识本次会话
created number 对话创建时间, 单位: s
time_cost number 耗时,单位:s
data string workflow 返回结果 json obj序列化字符串或者字符串
usage object token计量,只在工作流结束帧才会给出
usage.question_tokens int 兼容星火大模型,保留字段,可忽略
usage. prompt_tokens int 工作流请求大模型的token
usage. completion_tokens int 工作流大模型回复
usage. total_tokens int 工作流总的token消耗

三、请求示例

3.1 http非流式输出

request示例:


curl -i -k -X POST --location "https://agent.xf-yun.com/workflow/v1/run" \
    -H "Authorization: Bearer xxxxxxxxxx" \
    -H "Content-Type: application/json" \
    -d "{
          \"flow_id\":\"7245085474437238786\",
          \"uid\":\"123\",
          \"parameters\":{
            \"AGENT_USER_INPUT\":\"你好\"
          },
          \"ext\": {
            \"bot_id\":\"adjfidjf\",
            \"caller\":\"workflow\"
          },
          \"stream\":false
        }"

response示例

{
  "code": 0,
  "message": "success",
  "id": "spf00081de8@dx192324980b7a4f3782",
  "created": 1727420533,
  "time_cost": 20.0,
  "data": "{\"output\": \"你好\"}",
  "usage": {
      "question_tokens": 0,
      "prompt_tokens": 0,
      "completion_tokens": 0,
      "total_tokens": 0
  }
}

3.2 http流式输出

request示例

curl -i -k -X POST --location "https://agent.xf-yun.com/workflow/v1/run" \
-H "Authorization: Bearer xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d "{
      \"flow_id\":\"7245085474437238786\",
      \"uid\":\"123\",
      \"parameters\":{
        \"AGENT_USER_INPUT\":\"你好\"
      },
      \"ext\": {
        \"bot_id\":\"adjfidjf\",
        \"caller\":\"workflow\"
      },
      \"stream\":true
    }"

response示例:

data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":0,"node_is_finish":false,"content":"开始\noutput3:\noutput1:\noutput2:您好"},"created":1727420533,"time_cost":2.42,"progress":0.4,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":1,"node_is_finish":false,"content":"开始\noutput3:\noutput1:\noutput2:您好!有什么"},"created":1727420533,"time_cost":2.502,"progress":0.4,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":2,"node_is_finish":false,"content":"开始\noutput3:\noutput1:\noutput2:您好!有什么我可以帮助您的"},"created":1727420533,"time_cost":2.614,"progress":0.4,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":3,"node_is_finish":false,"content":"开始\noutput3:\noutput1:\noutput2:您好!有什么我可以帮助您的吗?"},"created":1727420533,"time_cost":2.83,"progress":0.4,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":4,"node_is_finish":false,"content":"开始\noutput3:\noutput1:\noutput2:您好!有什么我可以帮助您的吗?\n结束"},"created":1727420533,"time_cost":2.83,"progress":0.4,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":5,"node_is_finish":false,"content":"开始\noutput3:\noutput1:\noutput2:您好!有什么我可以帮助您的吗?\n结束"},"created":1727420533,"time_cost":3.035,"progress":0.4,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{"node_id":"node-end::b0b997db-4504-44fa-bbb3-34407db5ce23","node_seq":6,"node_is_finish":true,"content":"开始\noutput3:\noutput1:\noutput2:您好!有什么我可以帮助您的吗?\n结束"},"created":1727420533,"time_cost":3.038,"progress":0.8,"event":"Message"}
data: {"code":0,"message":"success","id":"spf00081de8@dx192324980b7a4f3782","data":{},"created":1727420533,"usage":{"completion_tokens":36,"prompt_tokens":214,"total_tokens":250,"question_tokens":0},"time_cost":3.046,"progress":1.0,"event":"Done"}

四、代码示例

4.1 python 代码示例

import http.client
import json

headers = {
    "Content-Type": "application/json",
    "Accept": "text/event-stream",
    "Authorization": "Bearer $APIKEY:APISECRET",
}

data = {
    "flow_id": "7245245222671409153",
    "uid": "123",
    "parameters": {"AGENT_USER_INPUT": "你好"},
    "ext": {"bot_id": "adjfidjf", "caller": "workflow"},
    "stream": False,
}
payload = json.dumps(data)

conn = http.client.HTTPSConnection("agent.xf-yun.com")
conn.request("POST", "/workflow/v1/run", payload, headers, encode_chunked=True)
res = conn.getresponse()

if data.get("stream"):
    while chunk := res.readline():
        print(chunk.decode("utf-8"))
else:
    data = res.readline()
    print(data.decode("utf-8"))

五、错误码

错误码 描述
0 成功
500 服务器异常
20101 三方协议参数异常
20201 未查到对应的Flow ID
20400 websocket建联异常
20804 流式输出超时
22300 引擎构建失败
22301 引擎运行失败
22302 节点执行失败
powered by 飞云 all right reserved,powered by Gitbook该文章修订时间: 2025-06-11 03:49:00

results matching ""

    No results matching ""