现场是这样的。Vertex AI 上 Gemini 1.5 Pro 开了 Google Search grounding,月度账单多出一项 grounding 费用,按请求数收,比模型调用本身还高。
中间走过弯路,把「重试请求同样计费」当成主因,改完现象没变。
真正麻烦的地方在于,几个原因的现象几乎一样。grounding 按千次请求单独计价,不含在 token 里;开启了自动 grounding,普通问答也触发检索;测试环境与生产共用同一个项目配额。
上来先看项目的账单明细
gcloud billing accounts list --format='value(name)'
接着统计带 grounding 的请求数
python -c "import json;print(sum(1 for l in open('req.jsonl') if json.loads(l).get('grounding')))"
只在需要的意图上开启
python -c "print({'enable_grounding':['fact_check','news']})"
剩下的就是按 SKU 汇总该项费用
python -c "print(1200/1000*35)"
同一份数据我导出了两份,一份留底,一份拿来试。
这类问题以前遇到过,但这次的触发条件和上次不一样。
怎么算真的好了,看的是同一批现象。grounding 请求占比从 100% 降到 15%,该项费用下降八成,答案准确率不变。
容易忽略的是,带检索的能力通常单独计价,开关要按意图打开,全量开启等于给每次闲聊都付检索费。这类问题最好一次改到位,反复小改反而容易把原因搅混。
