Bug: Significant Cost and Token Tracking Discrepancy for Gemini Models (2.5 & 3.1 Flash series) vs. Google Cloud Billing

自托管 Langfuse 用户在使用 Gemini 2.5/3.1 Flash 系列模型时,仪表盘的 Token 成本和实际 Google Cloud 账单严重不符。问题根源是 Langfuse 内建的模型定价配置与 Google 官方定价不一致,且部分模型缺少价格条目。优先排查 `worker/s

快速结论:自托管 Langfuse 用户在使用 Gemini 2.5/3.1 Flash 系列模型时,仪表盘的 Token 成本和实际 Google Cloud 账单严重不符。问题根源是 Langfuse 内建的模型定价配置与 Google 官方定价不一致,且部分模型缺少价格条目。优先排查 `worker/src/constants/default-model-prices.json` 中的定价值,或通过自定义模型覆盖。

适用环境:自托管(Self-hosted)Langfuse;SDK 通过 Google GenAI 调用 gemini-2.5-flash、gemini-3.1-flash、gemini-3.1-flash-lite 模型。

最快修复方案:在 Langfuse UI 的 Settings → Models 中为对应模型定义自定义价格(按 Google 实际定价),或通过 SDK 在生成日志时手动传入 cost 字段。

注意事项:自定义模型方案仅对添加后的新追踪生效,历史数据不会重新计算。手动 SDK 方法需要额外开发工作。Langfuse 官方尚未发布含正确价格的默认配置。

问题场景

用户在自托管 Langfuse 中集成 Gemini 模型(2.5 Flash / 3.1 Flash / 3.1 Flash Lite),通过 Google GenAI 进行多轮对话。Langfuse 追踪记录显示的 token 数量及估算成本,与同一时段 Google Cloud 账单上的实际费用存在显著偏差。

报错原文

Bug: Significant Cost and Token Tracking Discrepancy for Gemini Models (2.5 & 3.1 Flash series) vs. Google Cloud Billing

原因分析

Langfuse 的 worker/src/constants/default-model-prices.json 中存储的 Gemini 模型定价与 Google 官方定价不一致,同时缺少对以下特殊计费逻辑的处理:

  • gemini-2.5-flash 的输入/output/思考 token 各自独立定价(官方输入 $0.15/1M、输出 $3.50/1M、思考 token $0.70/1M),而配置中错用了旧价格。
  • 思考 token 未被单独追踪,统一按 output 价格计费。
  • 缺失超过 200K token 上下文的大容量分层定价。
  • gemini-3.1-flash 系列(含 lite)在默认价格文件中完全没有条目,导致成本计算为 0 或异常。

环境排查

  • 确认 Langfuse 版本(可运行 langfuse --version 或查看 Docker 镜像 Tag);
  • 确认 worker/src/constants/default-model-prices.json 中 gemini-2.5-flash / gemini-3.1-flash 等模型的定价条目;
  • 对比 Google AI 官方定价页面 (https://ai.google.dev/pricing) 确认最新费率。

解决步骤

  1. 优先尝试自定义模型覆盖:进入 Langfuse UI → Settings → Models,点击“Add Custom Model”或编辑已有模型,手动填入正确的定价(输入、输出、思考 token 需分别设置,如 gemini-2.5-flash 可参考官方:输入 $0.15/1M,输出 $3.50/1M,思考 token $0.70/1M)。
  2. 若使用 SDK 手动上报成本:在调用 Langfuse SDK 的 generation.update()trace.generation() 时,通过 usage 传入准确的 input/output/思考 token 数,并显式设置 cost 字段(需按 Google 账单费率自行计算)。
  3. (待官方修复)如需贡献代码:修改 worker/src/constants/default-model-prices.json,修正 gemini-2.5-flash 的输入/output/思考 token 价格,为 gemini-3.1-flash 及 lite 版本添加条目,并考虑增加 >200K 上下文的分层价格。原先的 PR #12646 因未合并,可参考其思路重新提交。

验证方法

设置自定义模型后,执行包含 Gemini 模型的对话,在 Langfuse 仪表盘查看该次调用显示的 cost。将其与 Google Cloud Billing 中该时刻对应的费用进行比对(注意时间精度和批量账单延迟)。若误差在 5% 以内可视作修复成功。

参考来源

langfuse/langfuse #14144

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16134

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注