bug: gpt-5.4-mini and gpt-5.4-nano have no price for reasoning tokens, so cost is under-reported

该问题发生在 Langfuse 使用 OpenAI gpt-5.4-mini 或 gpt-5.4-nano 模型进行推理计费时,由于这两个模型在 Langfuse 的托管价格配置中缺少 output_reasoning_tokens 和 output_reasoning 这两个推理 token 的价

快速结论:该问题发生在 Langfuse 使用 OpenAI gpt-5.4-minigpt-5.4-nano 模型进行推理计费时,由于这两个模型在 Langfuse 的托管价格配置中缺少 output_reasoning_tokensoutput_reasoning 这两个推理 token 的价格键,导致推理 token 费用被完全漏计。优先检查 Langfuse 的模型价格配置文件中是否包含这两个键,并核对输出费率是否与 OpenAI 官方一致。

适用环境:Langfuse Cloud;Python langfuse SDK 4.14.4、langchain-core 1.5.6、langchain-openai 1.5.2、langgraph 1.2.11(来源用户环境)。

最快修复方案:暂无确认的一步修复方案。Issue 中提出但尚未验证的修补方案是:在 langfuse/worker/src/constants/default-model-prices.json 中,为 gpt-5.4-mini/`gpt-5.4-nano` 及其日期后缀版本添加 output_reasoning_tokensoutput_reasoning 两个键,值分别设为 4.5e-061.25e-06(对应各自的现有输出费率)。可优先尝试。

注意事项:该修复方案尚未被 Langfuse 官方确认或合并,修改配置文件属于自维护行为,后续版本升级可能会被覆盖;Issue 中提到的 reasoning_tokens 键在 gpt-5.4 基础条目中未被实际使用,可能不是必需的。若使用 Langfuse Cloud,建议等待官方更新,或在项目级模型定义中手动补充价格以作为临时替代方案。

问题场景

用户在 Langfuse Cloud 中通过 langfuse.langchain.CallbackHandler(Python SDK v4)调用 gpt-5.4-minigpt-5.4-nano 模型,当模型返回推理 token(completion_tokens_details.reasoning_tokens > 0)时,Langfuse 记录的成本中没有计入推理 token 的费用,导致记录成本低于 OpenAI 实际可计费金额。在 10 条连续 trace 中,报告成本为 $0.048790,实际可计费金额为 $0.059595,差额约为 18%,差距恰好等于推理 token 费用(2401 tokens × 4.5e-06 = $0.010805)。

报错原文

bug: gpt-5.4-mini and gpt-5.4-nano have no price for reasoning tokens, so cost is under-reported

usageDetails: {"input": 1932, "output": 26, "output_reasoning": 45, "input_cache_read": 0, "total": 2003}
costDetails:  {"input": 0.001449, "output": 0.000117, "input_cache_read": 0, "total": 0.001566}

原因分析

可能原因:Langfuse 的托管模型价格配置文件 default-model-prices.json 中,gpt-5.4-minigpt-5.4-nano(及其 2026-03-17 日期后缀版本)只配置了 inputinput_cached_tokensinput_cache_readoutput 键,缺失 output_reasoning_tokensoutput_reasoning 两个推理 token 价格键。而同一系列的 gpt-5.4 基础条目配置了这两个键,价格为输出费率 15e-06。Langfuse 按 usage key 精确匹配价格,由于 output 不包含任何 output_* 值,推理 token 被乘以空值,导致费用被漏记。

环境排查

  • 确认 Langfuse 环境类型:Cloud 或自托管(self-hosted)。本 Issue 在 Langfuse Cloud 上复现。
  • 确认 Python 包版本:langfuse 4.14.4、langchain-core 1.5.6、langchain-openai 1.5.2、langgraph 1.2.11。
  • 确认 Langfuse 模型价格配置来源:检查是否使用了 default-model-prices.json 中的托管价格,或项目级自定义模型定义。
  • 确认 OpenAI 模型调用是否返回 completion_tokens_details.reasoning_tokens > 0

解决步骤

  1. 先通过项目级模型定义作为临时替代方案:在 Langfuse 项目中手动为 gpt-5.4-minigpt-5.4-nano 添加 output_reasoning_tokensoutput_reasoning 键,值分别设为 4.5e-061.25e-06(对应各自的现有输出费率)。该方案已验证可让报告成本与实际可计费金额一致。
  2. 若使用自托管 Langfuse,可编辑 worker/src/constants/default-model-prices.json,为以下四个条目补充两个推理键:
    • gpt-5.4-minioutput_reasoning_tokens = 4.5e-6output_reasoning = 4.5e-6
    • gpt-5.4-mini-2026-03-17:同上
    • gpt-5.4-nanooutput_reasoning_tokens = 1.25e-6output_reasoning = 1.25e-6
    • gpt-5.4-nano-2026-03-17:同上
  3. 若使用 Langfuse Cloud,可优先尝试在项目级模型中补充价格,并关注官方更新,等待该 bug 在托管配置中修复。

验证方法

修复后,调用 gpt-5.4-minigpt-5.4-nano 并确保响应的 completion_tokens_details.reasoning_tokens > 0,然后检查 Langfuse 生成的 generation 的 costDetails 中是否出现 output_reasoning 行,且其值等于 reasoning_tokens × 输出费率。对比记录成本与 OpenAI 实际可计费金额,确认差距已消除。

参考来源

langfuse/langfuse #16425

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 20035

发表回复

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