Jev不返回HTTP错误码作为业务判断依据,错误分API层(401/400/429/500等)和模型层(answers缺失、confidence<0.7、noul≈0.5、概率异常),需统一适配并校准验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Jev 本身不返回传统意义上的 HTTP 错误码(如 400、500)作为业务判断结果,它的“错误”主要分两类:一类是调用失败(网络、认证、参数格式等),由 API 层返回标准 HTTP 状态码;另一类是模型判断出错或置信不足,这体现在结构化响应体内部,需要代码主动检查。
API 层错误:按 HTTP 状态码处理
这类错误发生在请求未成功送达模型或参数校验失败时,比如:
- 401 Unauthorized:API Key 无效或过期,需检查密钥配置和权限
- 400 Bad Request:questions 格式非法(如 Choice 选项超过 255 个)、state 为空、问题类型拼写错误(如写成 "noul" 但实际应为 "noul")
- 429 Too Many Requests:超出配额或速率限制,需加退避重试逻辑
- 500 或 503:服务端临时不可用,建议带指数退避重试
模型层“软错误”:靠响应字段识别
Jev 的正常响应体始终是 JSON,但其中隐含可靠性信号。关键不是看 status code,而是看 answers 字段内容和元数据:
-
缺失 expected key:比如你定义了
"is_urgent": {"type": "noul"},但返回的answers里没有is_urgent字段——说明问题定义与模型支持不匹配,需核对 questions 结构 -
confidence 过低:Choice 和 Score 类型会返回
confidence字段(浮点数,0–1)。低于 0.7 通常意味着模型拿不准,建议触发兜底逻辑(如转人工、降级到大模型复核) -
noul 值趋近 0.5:例如返回
{"noul": 0.52},代表模型几乎无法判断“是/否”,不应直接用于自动决策 - 概率分布异常:Choice 返回的各选项概率总和明显偏离 1.0(如 0.98 或 1.03),可能提示输入 state 过于模糊或噪声过大
统一错误体适配建议
为避免业务代码散落多处判断逻辑,推荐在 SDK 或请求封装层做一层标准化:
- 所有 HTTP 非 2xx 响应,统一转为
{ "error": true, "code": "http_401", "message": "Invalid API key" } - 2xx 响应中,若
answers缺失关键问题、confidence < 0.65、或noul在 [0.45, 0.55] 区间,也转为统一错误结构,例如{ "error": true, "code": "low_confidence", "question": "is_refund_requested" } - 成功响应则剥离 error 字段,只留
answers和model版本信息
真正要防范的,不是它报错,而是它“安静地错”——比如返回一个看似合理的 0.85,但实际准确率只有 60%。所以生产环境必须配合真实标注样本做定期校准验证,不能只依赖 confidence 数值。

















