# 查看实际路由

来源: https://platform.lyrouter.com/ai_gateway/docs/route-log
更新日期: 2026-10-14

一次调用最终由哪个模型、哪个服务商回答，中途是否换过通道、为什么换，都记录在日志详情的「路由追踪」中。当前账号管理员和工作空间管理员在 **日志分析** 中打开一条日志即可查看。调整[智能路由](https://platform.lyrouter.com/ai_gateway/docs/routing)、[虚拟模型](https://platform.lyrouter.com/ai_gateway/docs/presets)或 [BYOK](https://platform.lyrouter.com/ai_gateway/docs/byok) 后，用它确认设置是否按预期生效。

## 先看基本信息

日志详情顶部的基本信息对所有能看到这条日志的成员可见，可以先回答「最终是谁回答的」：

| 字段 | 用来判断 |
| --- | --- |
| 「模型（请求）」 | 请求中写的模型，例如 `deepseek/deepseek-v4-flash`、`@vmodel/<名称>` 或 `lyrouter/auto` |
| 「模型（实际）」 | 实际回答的模型。与请求的模型不同时，通常是虚拟模型或 `lyrouter/auto` 选择了具体模型，或者请求的模型全部失败、由工作空间默认模型兜底 |
| 「服务商」 | 实际调用的服务商。日志列表的「服务商」列在使用 BYOK 凭证时带「BYOK」标记 |

## 路由追踪的各部分

在日志详情的「概览」中，「路由追踪」按时间顺序列出以下几部分：

| 部分 | 显示内容 | 说明 |
| --- | --- | --- |
| 「请求进入」 | 日志时间、API 路径和请求的模型 | 确认是你要找的那次请求 |
| 「路由选择」 | 「路由策略」、通过虚拟模型调用时的「虚拟模型」、使用 BYOK 凭证时的「BYOK：名称」 | 「路由策略」的取值见[通道选择与路由策略](https://platform.lyrouter.com/ai_gateway/docs/routing#多渠道选路策略) |
| 「命中上游」 | 服务商 · 模型，以及来源标签：「平台」是平台目录中的通道，「用户」是工作空间自定义的服务商或模型映射 | 没有记录到候选时显示「无路由候选」 |
| 「全部候选 N」 | 按选路策略排好序的候选，选中的标「已选中」；候选多于命中时才出现，需要展开 | 只是候选顺序，实际调用以「上游调用尝试」为准 |
| 「上游调用尝试」 | 每次实际尝试：「第 N 次」、服务商、状态码（没有状态码时显示「超时」「连接失败」「网络错误」等）、耗时，以及换下一个候选的原因或终止原因 | 只在一次请求发生了两次及以上尝试时出现 |
| 「最终结果」 | 返回给客户端的状态码，以及完成原因（如 `stop`）或失败原因代码（如 `upstream_timeout`） | 与日志列表的「状态」一致 |

「上游调用尝试」中常见的写法：

- 「因 HTTP 503 继续至第 2 次」：第 1 次尝试返回 503，网关改用下一个候选。连接失败或等待超时的尝试没有状态码，状态显示为「连接失败」「超时」等。
- 「终止：调用成功」：这次尝试成功，请求结束。
- 「终止：状态码不在回退策略内」：这次失败属于不换通道的情况，例如余额不足或安全围栏拦截，网关直接返回。
- 最后一次尝试之后没有「继续至第 N 次」：候选已经用完，「最终结果」就是返回给客户端的结果。
- 标题旁的「已记录 X/Y 次」是已记录的尝试数和实际尝试数。两者不等时会提示「仅记录了部分尝试（X/Y），以下信息可能不完整。」；显示「尝试记录暂时无法加载，主请求日志不受影响。」时，稍后重新打开详情。

（截图：日志详情顶部是基本信息，「概览」中的「路由追踪」显示请求进入、路由选择和最终结果。）

## 各阶段耗时与按次报文

- **各阶段耗时**：「④ 上游调用」旁显示「· N 次尝试，最长 X」时，说明这次请求重试过上游，显示的耗时是各次尝试之和，「最长」是耗时最长的那一次。用它判断时间是否花在失败的尝试上。
- **原始报文**：发生多次尝试时，「② 上游请求」和「③ 上游响应」按每次尝试分组，标题为「<服务商> 的上游请求 · 第 N 次」。为避免重复存储，较早的尝试只保留请求的「目标」「方法」「Content-Type」「正文大小（字节）」「正文 SHA-256」，完整的上游请求只显示最后一次。「③ 上游响应」逐次列出，内容过长时标注「记录内容已按大小上限截断。」

## 与路由设置的对应关系

| 你在日志中看到的 | 对应的设置 |
| --- | --- |
| 「路由策略」和候选顺序 | 直接调用模型 ID 时是工作空间智能路由的「多渠道选路策略」；通过虚拟模型调用时是该虚拟模型的「Channel 排序策略」，见[通道选择与路由策略](https://platform.lyrouter.com/ai_gateway/docs/routing)和[虚拟模型](https://platform.lyrouter.com/ai_gateway/docs/presets) |
| 某个通道总是排在最前，或只出现 BYOK 凭证 | BYOK 使用配置中的「优先使用此 Channel」或「仅用此 BYOK」，见[通道选择与路由策略](https://platform.lyrouter.com/ai_gateway/docs/routing#byok-通道规则) |
| 「上游调用尝试」中换了通道或模型 | 失败后的回退规则，见[失败重试与备用模型](https://platform.lyrouter.com/ai_gateway/docs/fallback) |
| 「模型（实际）」是工作空间默认模型 | 智能路由中的「默认模型」兜底 |

## 常见问题

### 「全部候选」里有多个服务商，是否都被调用过？

**答：** 不是。「全部候选」只是排好序的候选列表，网关按顺序尝试，成功即停止。实际调用过哪些候选，以「上游调用尝试」为准；没有这一部分时，说明只调用了「命中上游」中的那一个。

### 为什么有的日志没有「上游调用尝试」？

**答：** 只调用了一次上游的请求不显示这一部分。此外，日志超过留存期后，候选和尝试记录与正文一样不再显示，见[数据保留、导出与删除](https://platform.lyrouter.com/ai_gateway/docs/retention)。

### 怎样确认这次调用用的是我的 BYOK 凭证？

**答：** 看「路由选择」中是否有「BYOK：名称」，日志列表的「服务商」列也会带「BYOK」标记。凭证没有被使用时，检查 BYOK 的调用范围和模型映射，见 [BYOK](https://platform.lyrouter.com/ai_gateway/docs/byok)。

### 能只按 HTTP 状态码判断错误来自网关还是上游吗？

**答：** 不建议。同样是 503，可能是网关找不到可用通道，也可能是上游服务商返回的。请看日志列表的「状态说明」：来源「网关」表示网关拒绝或连接上游失败，来源「上游」表示服务商返回了错误，详见[通过日志定位调用问题](https://platform.lyrouter.com/ai_gateway/docs/logs)。

### 普通成员如何核查路由？

**答：** 普通成员的日志详情不显示「路由追踪」，但可以看到「模型（实际）」「服务商」和「原始报文」。需要核查路由时，把日志详情顶部的 Request ID、调用时间和模型发给当前账号管理员或工作空间管理员。
