跳转到主要内容
Pipeline 接口可能返回以下错误码:
  • 200: 成功
  • 400: 请求参数错误(BadRequest)
  • 40101: x-ti-app-id或x-ti-secret-code为空
  • 40102: x-ti-app-id或x-ti-secret-code错误
  • 40004: 参数验证失败(InvalidParams)
  • 500: 服务器内部错误(InternalServerError)

错误信息分类

鉴权错误

错误码错误信息触发条件
40101x-ti-app-id或x-ti-secret-code为空x-ti-app-id或x-ti-secret-code为空时返回
40102x-ti-app-id或x-ti-secret-code错误x-ti-app-id或x-ti-secret-code无效时返回

参数校验阶段错误(CheckParams)

1. 文件相关错误(错误码: 400)

错误信息触发条件
缺少必要参数或参数值不正确:获取文件失败无法从 form-data 中获取文件
缺少必要参数或参数值不正确:无法读取文件无法打开文件
缺少必要参数或参数值不正确:读取文件信息失败无法读取文件内容

2. 配置解析错误(错误码: 400)

错误信息触发条件
缺少必要参数或参数值不正确:stages 配置缺失stages 参数为空
缺少必要参数或参数值不正确:解析 stages 配置失败stages JSON 解析失败
缺少必要参数或参数值不正确:解析 config 配置失败config JSON 解析失败
缺少必要参数或参数值不正确:解析 data_source 配置失败data_source JSON 解析失败
缺少必要参数或参数值不正确:解析 embed 配置失败:<具体错误>embed stage 的 config JSON 解析失败

3. 配置验证错误(错误码: 40004)

错误信息触发条件
缺少必要参数或参数值不正确:验证 stages 配置失败:stages 配置不能为空stages 数组为空
缺少必要参数或参数值不正确:验证 stages 配置失败:stages 配置长度不能超过3,当前值:<N>stages 数量超过 3 个
缺少必要参数或参数值不正确:验证 stages 配置失败:第一个 stage 必须是 parse,当前值:<type>第一个 stage 不是 parse
缺少必要参数或参数值不正确:验证 stages 配置失败:parse stage 必须出现一次,当前值:<N>parse stage 数量不等于 1
缺少必要参数或参数值不正确:验证 stages 配置失败:chunk stage 最多出现一次,当前值:<N>chunk stage 数量大于 1
缺少必要参数或参数值不正确:验证 stages 配置失败:embed stage 最多出现一次,当前值:<N>embed stage 数量大于 1
缺少必要参数或参数值不正确:验证 stages 配置失败:chunk stage 必须在 embed stage 之前chunk 在 embed 之后
缺少必要参数或参数值不正确:验证 stages 配置失败:embed stage 必须在 parse 之后embed 是第一个 stage
缺少必要参数或参数值不正确:验证 embed 配置失败:provider 不能为空embed provider 为空
缺少必要参数或参数值不正确:验证 embed 配置失败:model_name 不能为空embed model_name 为空
缺少必要参数或参数值不正确:验证 embed 配置失败:不支持的 providerembed provider 不支持
缺少必要参数或参数值不正确:验证 embed 配置失败:不支持的 modelembed model 不支持

执行阶段错误(Handle)

1. Stage Runner 创建错误(错误码: 400)

错误信息触发条件
缺少必要参数或参数值不正确:创建 stage runner 失败stage type 未知(不是 parse/chunk/embed)

2. Stage 执行错误(错误码: 500)

最终返回格式为: 服务器内部错误:stage <stage type> 执行失败:<核心错误信息>
Parse Stage 错误
核心错误信息触发条件
读取文件失败无法读取文件内容
创建请求失败无法创建 multipart form file
写入请求信息失败无法写入文件到 form
数据源信息格式错误data_source JSON 序列化失败
配置信息格式错误config JSON 序列化失败
发送请求失败HTTP 请求发送失败
请求失败HTTP 状态码不是 200
解析响应失败响应 JSON 解析失败
<parseResp.Message>parse 服务返回的业务错误(Code != 200),直接透传 message
Chunk Stage 错误
核心错误信息触发条件
序列化请求失败请求 JSON 序列化失败
发送请求失败HTTP 请求发送失败
请求失败HTTP 状态码不是 200
解析响应失败响应 JSON 解析失败
<chunkResp.Message>chunk 服务返回的业务错误(Code != 200),直接透传 message
Embed Stage 错误
核心错误信息触发条件
embed配置为空embed config 为 nil
不支持的embed提供商provider 不是 qwen 或 doubao
请求失败embed provider 客户端未初始化 或 OpenAI API 调用失败

错误信息格式说明

错误信息拼接规则

  1. 参数校验阶段:使用 BizStatusWrap 函数,格式为 基础错误信息: 具体错误信息
    • 例如:缺少必要参数或参数值不正确: stages 配置缺失
  2. 执行阶段:使用 BizStatusWrap 函数,格式为 服务器内部错误: <核心错误信息>
    • 核心错误信息(包括引擎返回报错)直接透传
    • 例如:服务器内部错误: 请求失败

示例

示例 1:参数错误

{
  "code": 400,
  "message": "缺少必要参数或参数值不正确:stages 配置缺失"
}

示例 2:配置验证错误

{
  "code": 40004,
  "message": "缺少必要参数或参数值不正确:验证 stages 配置失败:第一个 stage 必须是 parse,当前值:chunk"
}

示例 3:Parse Stage 执行错误

{
  "code": 500,
  "message": "服务器内部错误:stage parse 执行失败:请求失败"
}

示例 4:Parse Stage 业务错误(透传服务端 message)

{
  "code": 500,
  "message": "服务器内部错误:stage parse 执行失败:不支持的provider: texti"
}

示例 5:Embed Stage 配置错误

{
  "code": 500,
  "message": "服务器内部错误:stage embed 执行失败:不支持的embed提供商" // 这里其实会被提前检出
}