原因是:用户仪表盘的“模型分布”接口目前按 usage_logs.model 聚合,而不是按 requested_model 聚合。
Sub2API 的用量日志里现在有三个相关字段:
model 当前主模型字段,很多链路里会写入映射后/实际调用模型
requested_model 用户请求里的原始模型
upstream_model 实际发给上游的模型
仪表盘显示“经过渠道真实调用的模型”,是因为用户仪表盘接口 /api/v1/usage/dashboard/models 调用的 GetUserModelStats 里 SQL 是:
SELECT model, ...
FROM usage_logs
WHERE user_id = ...
GROUP BY model
也就是它直接按 model 分组。这样如果你请求 gpt-5.5,渠道映射到 gpt-5.4,日志统计就可能显示 gpt-5.4。
这更像是一个历史兼容/实现遗漏:后来系统已经加了 requested_model 和 upstream_model 字段,用户用量明细 DTO 也已经优先显示 requested_model,但用户仪表盘模型分布这条聚合 SQL 还在用旧的 model 字段。
原因是:用户仪表盘的“模型分布”接口目前按
usage_logs.model聚合,而不是按requested_model聚合。Sub2API 的用量日志里现在有三个相关字段:
仪表盘显示“经过渠道真实调用的模型”,是因为用户仪表盘接口
/api/v1/usage/dashboard/models调用的GetUserModelStats里 SQL 是:也就是它直接按
model分组。这样如果你请求gpt-5.5,渠道映射到gpt-5.4,日志统计就可能显示gpt-5.4。这更像是一个历史兼容/实现遗漏:后来系统已经加了
requested_model和upstream_model字段,用户用量明细 DTO 也已经优先显示requested_model,但用户仪表盘模型分布这条聚合 SQL 还在用旧的model字段。