记录一下那天晚上的排查过程。通过 OpenRouter 调 qwen-2.5-72b-instruct,同一份 prompt 两次请求的输出风格差异很大,账单单价也差三倍,响应里的 provider 字段每次都不一样。
刚开始盯着「上游的量化档位不同,同一模型效果差一截」,折腾了半个多小时,排掉了。
排查方向其实有限,先把可能性排一排。OpenRouter 会在多个上游之间路由,各家量化与模板不同。还有一种是请求没带 provider 偏好,路由按可用性随机选。
少数情况下是价格排序策略优先选了最便宜的上游。
先看响应里的 provider 与用量
curl https://openrouter.ai/api/v1/chat/completions -H 'Authorization: Bearer KEY' -d @req.json
随后对比两次请求的上游字段
python diff_provider.py --a a.json --b b.json
固定上游后重新请求
python call_or.py --provider Together --no-fallback
剩下的就是记录单价与延迟再定默认上游
python bench_or.py --provider Together --requests 20
怎么算真的好了,看的是同一批现象。连续十次请求的 provider 字段一致,输出风格稳定,账单单价与页面标价对得上。
容易忽略的是,聚合平台上的模型名不等于某个确定权重,要可复现就得锁上游,锁不住就自己部署。这类问题最好一次改到位,反复小改反而容易把原因搅混。
