查看实际路由
一次调用最终由哪个模型、哪个服务商回答,中途是否换过通道、为什么换,都记录在日志详情的「路由追踪」中。当前账号管理员和工作空间管理员在 日志分析 中打开一条日志即可查看。调整智能路由、虚拟模型或 BYOK 后,用它确认设置是否按预期生效。
先看基本信息
日志详情顶部的基本信息对所有能看到这条日志的成员可见,可以先回答「最终是谁回答的」:
| 字段 | 用来判断 |
|---|---|
| 「模型(请求)」 | 请求中写的模型,例如 deepseek/deepseek-v4-flash、@vmodel/<名称> 或 lyrouter/auto |
| 「模型(实际)」 | 实际回答的模型。与请求的模型不同时,通常是虚拟模型或 lyrouter/auto 选择了具体模型,或者请求的模型全部失败、由工作空间默认模型兜底 |
| 「服务商」 | 实际调用的服务商。日志列表的「服务商」列在使用 BYOK 凭证时带「BYOK」标记 |
路由追踪的各部分
在日志详情的「概览」中,「路由追踪」按时间顺序列出以下几部分:
| 部分 | 显示内容 | 说明 |
|---|---|---|
| 「请求进入」 | 日志时间、API 路径和请求的模型 | 确认是你要找的那次请求 |
| 「路由选择」 | 「路由策略」、通过虚拟模型调用时的「虚拟模型」、使用 BYOK 凭证时的「BYOK:名称」 | 「路由策略」的取值见通道选择与路由策略 |
| 「命中上游」 | 服务商 · 模型,以及来源标签:「平台」是平台目录中的通道,「用户」是工作空间自定义的服务商或模型映射 | 没有记录到候选时显示「无路由候选」 |
| 「全部候选 N」 | 按选路策略排好序的候选,选中的标「已选中」;候选多于命中时才出现,需要展开 | 只是候选顺序,实际调用以「上游调用尝试」为准 |
| 「上游调用尝试」 | 每次实际尝试:「第 N 次」、服务商、状态码(没有状态码时显示「超时」「连接失败」「网络错误」等)、耗时,以及换下一个候选的原因或终止原因 | 只在一次请求发生了两次及以上尝试时出现 |
| 「最终结果」 | 返回给客户端的状态码,以及完成原因(如 stop)或失败原因代码(如 upstream_timeout) |
与日志列表的「状态」一致 |
「上游调用尝试」中常见的写法:
- 「因 HTTP 503 继续至第 2 次」:第 1 次尝试返回 503,网关改用下一个候选。连接失败或等待超时的尝试没有状态码,状态显示为「连接失败」「超时」等。
- 「终止:调用成功」:这次尝试成功,请求结束。
- 「终止:状态码不在回退策略内」:这次失败属于不换通道的情况,例如余额不足或安全围栏拦截,网关直接返回。
- 最后一次尝试之后没有「继续至第 N 次」:候选已经用完,「最终结果」就是返回给客户端的结果。
- 标题旁的「已记录 X/Y 次」是已记录的尝试数和实际尝试数。两者不等时会提示「仅记录了部分尝试(X/Y),以下信息可能不完整。」;显示「尝试记录暂时无法加载,主请求日志不受影响。」时,稍后重新打开详情。
图 1:日志详情顶部是基本信息,「概览」中的「路由追踪」显示请求进入、路由选择和最终结果。 截图为演示数据,点击图片可查看原图。
各阶段耗时与按次报文
- 各阶段耗时:「④ 上游调用」旁显示「· N 次尝试,最长 X」时,说明这次请求重试过上游,显示的耗时是各次尝试之和,「最长」是耗时最长的那一次。用它判断时间是否花在失败的尝试上。
- 原始报文:发生多次尝试时,「② 上游请求」和「③ 上游响应」按每次尝试分组,标题为「<服务商> 的上游请求 · 第 N 次」。为避免重复存储,较早的尝试只保留请求的「目标」「方法」「Content-Type」「正文大小(字节)」「正文 SHA-256」,完整的上游请求只显示最后一次。「③ 上游响应」逐次列出,内容过长时标注「记录内容已按大小上限截断。」
与路由设置的对应关系
| 你在日志中看到的 | 对应的设置 |
|---|---|
| 「路由策略」和候选顺序 | 直接调用模型 ID 时是工作空间智能路由的「多渠道选路策略」;通过虚拟模型调用时是该虚拟模型的「Channel 排序策略」,见通道选择与路由策略和虚拟模型 |
| 某个通道总是排在最前,或只出现 BYOK 凭证 | BYOK 使用配置中的「优先使用此 Channel」或「仅用此 BYOK」,见通道选择与路由策略 |
| 「上游调用尝试」中换了通道或模型 | 失败后的回退规则,见失败重试与备用模型 |
| 「模型(实际)」是工作空间默认模型 | 智能路由中的「默认模型」兜底 |
常见问题
「全部候选」里有多个服务商,是否都被调用过?
答: 不是。「全部候选」只是排好序的候选列表,网关按顺序尝试,成功即停止。实际调用过哪些候选,以「上游调用尝试」为准;没有这一部分时,说明只调用了「命中上游」中的那一个。
为什么有的日志没有「上游调用尝试」?
答: 只调用了一次上游的请求不显示这一部分。此外,日志超过留存期后,候选和尝试记录与正文一样不再显示,见数据保留、导出与删除。
怎样确认这次调用用的是我的 BYOK 凭证?
答: 看「路由选择」中是否有「BYOK:名称」,日志列表的「服务商」列也会带「BYOK」标记。凭证没有被使用时,检查 BYOK 的调用范围和模型映射,见 BYOK。
能只按 HTTP 状态码判断错误来自网关还是上游吗?
答: 不建议。同样是 503,可能是网关找不到可用通道,也可能是上游服务商返回的。请看日志列表的「状态说明」:来源「网关」表示网关拒绝或连接上游失败,来源「上游」表示服务商返回了错误,详见通过日志定位调用问题。
普通成员如何核查路由?
答: 普通成员的日志详情不显示「路由追踪」,但可以看到「模型(实际)」「服务商」和「原始报文」。需要核查路由时,把日志详情顶部的 Request ID、调用时间和模型发给当前账号管理员或工作空间管理员。
