星辰 Workflow Open API 接口文档

1. 星辰 Workflow Open API 服务说明

本协议用于描述如何调用星辰平台 Workflow OpenAPI,您需要先在星辰大模型应用平台完成工作流的创建,调试通过并发布后,即可调用此服务。

2. 接口说明

2.1 请求方法和URl

请求方式 POST
请求地址 http(s)://xingchen-api.xf-yun.com/workflow/v1/chat/completions

2.2 接口Demo

接口Demo随后提供。

2.3 接口要求

接口类型: 流式http(s)

接口鉴权: Bearer鉴权

2.4 接口权限说明

鉴权不通过或APPID与当前工作流不匹配,会返回相关流控错误。

3. 请求

3.1 请求协议示例

{
    "flow_id": "7265177322515169282",
    "uid": "123",
    "parameters": {
        "AGENT_USER_INPUT": "你好"
    },
    "ext": {
        "bot_id": "workflow",
        "caller": "workflow"
    },
    "stream": true,
    "chat_id": "xxx",
    "history": [
      { 
        "role": "user", 
        "content_type": "text", 
        "content": "你好" 
      },
      { 
        "role": "assistant", 
        "content_type": "text", 
        "content": "你好,我是你的工作助手,请问有什么可以帮您?" 
      }
    ]
}

3.2 请求参数

3.2.1 Header

参数名称 参数值 是否必填 说明
Authorization Bearer $API_KEY 鉴权key
鉴权码组成:Bearer {API_KEY}:{API_SECRET}

3.2.2 Body

参数名称 参数类型 是否必须 说明
flow_id string 工作流id
uid string 用户id
stream bool 是否启用流式返回
流式:true
非流式:false
ext object 用于指定一些额外字段,比如一些插件隐藏字段 暂时用不到
parameters object 工作流开始节点的输入参数及取值,你可以在指定工作流的编排页面查看参数列表
{"input1": "xxxxx", "input2": "xxxxx"}
chat_id string 会话id,用于区分不同的工作流会话,长度不超过32位
history array of history_message object 历史对话信息[history_message object]集合
例如 [{"role": "user", "content_type": "text", "content": "你好" },{"role": "assistant", "content_type": "text", "content": "你好,我是你的工作助手,请问有什么可以帮您?" }]

history_message Object

参数名称 参数类型 是否必须 取值范围 默认值 说明
role string user,
assistant
发送这条消息的实体 user: 代表该消息是用户发送的。 assistant: 代表该消息是工作流回复的。
content_type string text,
image
text 消息内容的类型,当前只支持两种类型。若不填写,则默认类型为text
text:表示普通文本。
image:表示图片类型。
content string 消息内容,如果是image类型这里需要填写图片url

在处理 history_message object 时,首个元素的 role 必须为 user。交互历史应按照 user -> assistant -> user -> assistant 的顺序进行拼接,默认情况下,user 与 assistant 之间的一对交互视为一轮对话。按对话时间从先到后依次填充。如[{第一次},{第二次}...]

[
  // 拼接对话历史信息:
  {"role": "user", "content_type" : "text", "content": "湖南有哪些美食"},              // 用户第一个问题   role是user,表示是用户的提问
  {"role": "assistant", "content_type" : "text", "content": "湖南有xxxxxx"},        // AI的第一个回复  role是assistant,表示是AI的回复
]

4. 响应

4.1 响应协议示例

4.1.1 流式结果示例

流式输出过程帧

{
  "code": 0,
  "message": "Success",
  "id": "cha000c0076@dx191c21ce879b8f3532",
  "created": 123412324431,
  "workflow_step": {
    "seq": 0,
    "progress": 0.4
  },
  "choices": [
    {
      "delta": {
        "role": "assistant",
        "content": "你好,",
        "reasoning_content": ""
      },
      "index": 0,
      "finish_reason": null
    }
  ]
}

流式输出结束帧

{
  "code": 0,
  "message": "Success", 
  "id": "spf0016609f@dx193193f43cba44d782",
  "created": 123412324431,
  "workflow_step": {
    "seq": 6,
    "progress": 1
  },
  "choices": [
    {
      "delta": {
        "role": "assistant",
        "content": "",
        "reasoning_content": ""
      },
      "index": 0,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1,
    "completion_tokens": 0,
    "total_tokens": 9
  }
}

4.1.2 非流式结果示例

{
  "code": 0,
  "message": "Success",
  "id": "cha000b0003@dx1905cd86d6bb86d552",
  "choices": [
    {
      "delta": {
        "role": "assistant",
        "content": "你好,我是由科大讯飞构建的星火认知智能模型。\n如果你有任何问题或者需要帮助的地方,请随时告诉我!我会尽力为你提供解答和支持。请问有什么可以帮到你的吗?",
        "reasoning_content": ""
      },
      "index": 0,
      "finish_reason": "stop",
      "finish_reason": ""
    }
  ],
  "usage": {
    "prompt_tokens": 6,
    "completion_tokens": 42,
    "total_tokens": 48
  }
}

4.1.3 异常结果

{
    "code": 20805,
    "message": "flow id : 7265177322515169282 状态为草稿,请发布",
    "id": "spf00dc0001@hf193621572a96806782",
    "created": 1732517393,
    "choices": [
        {
            "delta": {
                "role": "assistant",
                "content": "",
                        "reasoning_content": ""
            },
            "finish_reason": "stop"
        }
    ],
    "workflow_step": {
        "seq": 0,
        "progress": 1.0
    },
    "usage": {
        "prompt_tokens": 0,
        "completion_tokens": 0,
        "total_tokens": 0
    }
}

4.2 响应参数

4.2.1 响应数据参数

参数名称 类型 是否必须 参数说明
code int 错误码,0为成功,非0表示报错
message string 错误信息描述
id string 服务端会话id
created int 对话创建时间戳, 单位: s
workflow_step object 工作流步骤
workflow_step.seq int 返回的数据序号,取值为 [0,9999999]
workflow_step.progress float 工作流进度
choices array
choices.delta object
choices.delta.role string 工作流的角色
choices.delta.content string 工作流输出的内容
choices.delta.reasoning_content string 工作流的思维链内容
choices.index int 工作流的结果序号,在多候选中使用
choices.finish_reason string 当工作流到达自然停止点或用户提供的停止序列时,它将将 finish_reason 设置为 “stop”
usage object token计量,只在工作流结束帧才会给出
usage.prompt_tokens int 工作流请求大模型的token
usage.completion_tokens int 工作流大模型回复
usage.total_tokens int 工作流总的token消耗

4.2.2 结果格式补充说明

模型结果除了普通文本类型,为了满足排版需求,会出现以下的标记语言,建议集成方进行适配:

  • markdown(表格、列表等)

5. 错误码列表

Sparkflow服务相关错误码

错误码 描述
0 成功
500 服务器异常
20000 应用未发现
20001 从应用管理平台获取应用失败
20002 未发现应用租户
20003 应用租户无该平台权限
20004 应用未绑定工作流
20005 该Appid已禁止使用该工作流
20006 该平台没有对应的操作
20007 应用绑定失败
20008 应用未知来源
20100 协议校验失败
20101 三方协议参数异常
20102 协议创建异常
20103 协议删除异常
20104 协议更新失败
20201 未查到对应的Flow ID
20202 Flow ID非法
20203 构建失败
20204 工作流未发布
20205 工作流没有appid
20206 工作流发布失败
20207 工作流为草稿状态
20400 WebSocket建连异常
20600 变量系统获取参数失败
20601 变量系统设置参数失败
20602 变量名称解析失败
20700 数据库提交时异常
20804 OpenAPI流式输出超时
21500 聊天建立连接失败
21700 节点调试失败
22100 引擎协议校验失败
22101 引擎节点协议校验失败
22300 引擎构建失败
22301 引擎运行失败
22302 节点执行失败
22303 节点输出校验失败
20500 知识库请求异常
20501 知识库节点执行异常
22500 开始节点协议有误
22600 结束节点协议有误
22601 结束节点执行失败
22701 消息节点执行失败
21900 参数提取失败
21600 代码执行失败
21601 代码解释器节点构建失败
21602 代码节点返回结果类型不符合要求
22801 工作流节点执行失败
22802 工作流节点执行相应结果格式错误
22900 变量节点执行失败
23100 分支节点执行失败
23200 迭代节点执行失败
23300 大模型节点执行失败
23400 工具节点执行失败
23500 文本拼接节点执行失败
23700 Agent节点执行失败

星火大模型相关错误码

错误码 描述
20301 星火未选出有效Function
20303 星火请求失败
20350 升级为ws出现错误
20351 通过ws读取用户的消息出错
20352 通过ws向用户发送消息出错
20353 用户的消息格式有错误
20354 用户数据的schema错误
20355 用户参数值有错误
20356 用户并发错误:当前用户已连接,同一用户不能多处同时连接。
20357 用户流量受限:服务正在处理用户当前的问题,需等待处理完成后再发送新的请求。(必须要等大模型完全回复之后,才能发送下一个问题)
20358 服务容量不足,联系工作人员
20359 和引擎建立连接失败
20360 接收引擎数据的错误
20361 发送数据给引擎的错误
20362 引擎内部错误
20363 输入内容审核不通过,涉嫌违规,请重新调整输入内容
20364 输出内容涉及敏感信息,审核不通过,后续结果无法展示给用户
20365 appid在黑名单中
20366 appid授权类的错误。比如:未开通此功能,未开通对应版本,token不足,并发超过授权 等等
20367 清除历史失败
20368 表示本次会话内容有涉及违规信息的倾向;建议开发者收到此错误码后给用户一个输入涉及违规的提示
20369 服务忙,请稍后再试
20370 请求引擎的参数异常 引擎的schema 检查不通过
20371 引擎网络异常
20372 token数量超过上限。对话历史+问题的字数太多,需要精简输入
20373 授权错误:该appId没有相关功能的授权 或者 业务量超过限制
20374 授权错误:日流控超限。超过当日最大访问量的限制
20375 授权错误:秒级流控超限。秒级并发超过授权路数限制
20376 授权错误:并发流控超限。并发路数超过授权路数限制

文生图相关错误码

错误码 描述
21200 图片生成失败
21201 图片存储失败
21203 用户的消息格式有错误
21204 用户数据的schema错误
21205 用户参数值有错误
21206 服务容量不足
21207 输入审核不通过
21208 模型生产的图片涉及敏感信息,审核不通过
21209 文生图超时

工具相关错误码

错误码 描述
21800 工具请求失败
21801 工具初始化失败
21802 工具json协议解析失败
21803 工具协议校验失败
21804 工具openapi协议解析失败
21805 工具body类型不支持
21806 工具server不存在
21807 官方工具请求失败
21808 工具不存在
21809 工具Operation不存在
21810 工具请求失败,连接异常
21811 三方工具执行失败
21812 三方工具请求失败

文件上传相关错误码

错误码 描述
23601 文件非法
23602 文件变量协议有误
23603 文件链接非法
23604 文件存储失败
powered by 飞云 all right reserved,powered by Gitbook该文章修订时间: 2025-04-08 13:23:31

results matching ""

    No results matching ""