置信度与异常处理
JevChoiceResult 保留原始选项、置信度、概率分布和实际模型版本。最终执行哪个分支,还取决于配置的阈值及 DEFAULT。
# 置信度与选项概率
confidence 和 probabilities 是两个不同字段:前者由整个概率分布计算,后者表示各候选选项的概率。因此,“模型置信度 85%”与“换货选项概率 87%”可以同时出现。分流阈值比较的是 confidence,两者都不是单次判断的实际正确率。官方置信度说明 (opens new window)
# 分流、兜底与调用异常
| 情况 | 流程行为 |
|---|---|
| 选项有效,且置信度达到阈值 | 执行对应 .to(...) 目标 |
| 置信度低于阈值 | 进入 .DEFAULT(...) |
| 模型选择“均不适用” | 进入 .DEFAULT(...),原始选项为 JevSwitchComponent.NO_MATCH |
需要兜底,但未声明 DEFAULT | 沿用 LiteFlow 的无匹配目标异常 |
| 鉴权失败、限流、超时或非法响应 | 抛出 JevInvocationException,由流程异常处理接管 |
DEFAULT 处理业务判断的不确定性;调用故障不会自动转成一条成功的人工分流。需要为技术故障安排其他处理时,可使用现有异常处理机制。HTTP 错误可通过 JevInvocationException.getStatusCode() 读取状态码;客户端不自动重试。
# 覆写组件阈值
业务可覆写组件级阈值:
@Override
protected double minConfidence() {
return 0.8;
}
应使用自己的业务样本选择阈值。
# 决策回调与候选校验
onDecision() 会收到正常、低置信度和均不适用的有效结果;概率分布不可修改。回调在当前流程线程中执行,回调异常会阻止后续目标执行。
候选项数量为 1~254,框架另加一个“均不适用”选项。候选 ID 必须在当前 .to(...) 中唯一;当前不支持 tag:... 标签路由,也不接受同一个 ID 对应多个候选目标。配置错误会在发起请求前被拒绝。
可以通过客服演示与测试观察这些结果如何显示在页面上。
帮助我们改善此文档 (opens new window)



