问题出现得很突然,日志倒是留得挺全。日志只有 trace_id、耗时和状态码,月度成本要按模型拆分时只能翻网关访问日志,gpt-4o 和 gpt-4o-mini 的调用混在一起。

刚开始盯着「批量任务全程没有记录模型」,折腾了半个多小时,排掉了。

原因不止一个,得分开看。日志模板里没有 model 字段。少数情况下是流式响应里 model 只出现在首个 chunk。

另外,别名解析之后才知道真实模型。

动手时先看日志里到底有没有模型信息

Get-Content app.log | Select-String -Pattern '"model"' | Measure-Object

日志格式加上 model 字段

python patch_log.py --field model --source response

从首个 chunk 提取真实模型名

python sse_collect.py --capture model

剩下的就是按模型聚合出成本日报

python cost_by_model.py --log app.log --out model.csv

我习惯把每一步的执行时间和结果记在一边,后面复盘省事。

别只看报错消失,验证要多做一步。成本日报能按模型给出金额,别名与真实模型名可对上,误差小于 2%。

这里还有个坑。别名解析发生在服务端,客户端日志里那个名字经常不是真实模型。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189