用 Langfuse 给 LLM 账单做 CT 扫描:3 天砍掉六成的隐形开销

发布时间:2026/9/2 12:05:44

用 Langfuse 给 LLM 账单做 CT 扫描:3 天砍掉六成的隐形开销
用 Langfuse 给 LLM 账单做 CT 扫描3 天砍掉六成的隐形开销【免费下载链接】langfuse Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. YC W23项目地址: https://gitcode.com/GitHub_Trending/la/langfuse周五下午监控群里弹出一条消息本月 LLM API 账单环比涨了 43%但没人说得清多出来的钱花在哪一次调用上。这篇文章用 Langfuse——一个开源的 LLM 可观测性平台——把账单拆到单次调用粒度的成本再按顺序砍掉能砍的开销。15 分钟读完你能带走一套可落地的成本归因、模型降档和预算告警方法明天就能上手。先跑起来——5 分钟部署与最小集成先把服务拉起来确认链路通了再谈优化git clone https://gitcode.com/GitHub_Trending/la/langfuse cd langfuse docker compose up -d第一条把源码拉到本地第二条只是切换目录第三条用 docker-compose.yml 一键把 web 控制台、worker 后台任务和依赖的数据库、消息队列全部拉起来。启动后在控制台创建项目拿到 public key 和 secret key接入你的应用from langfuse import Langfuse langfuse Langfuse(public_keypk-lf-..., secret_keysk-lf-..., hosthttp://localhost:3000) trace langfuse.trace(namecustomer-support) generation trace.generation( namereply, modelgpt-4-1106-preview, # 成本就是按这个名字去匹配内置价格表的 input[{role: user, content: 怎么修改收货地址}], output{content: 在订单页可以修改}, ) generation.end() # 调用结束这次请求的 token 数与成本被记录跑通后每条 trace 下都挂着这次调用的 token 用量和折算金额。从这里开始账单不再是月度总额而是一张可以按模型、功能、用户拆的明细。堵住三个花钱黑洞黑洞一钱花得不明不白——单次调用没有成本归因现象账单只有月度总额你不知道第 40000 次调用花了多少钱也不知道是哪个功能在烧钱。对应模块Langfuse 给每次调用observation单独记账。核心逻辑在 packages/shared/src/server/repositories/observations_converters.ts 里的reduceUsageOrCostDetails函数——它把usage_details里的 token 数按模型单价折算成inputCost、outputCost、totalCost逐条落库。落地动作先在控制台确认每个 generation 都有成本字段为 null 的说明模型没匹配上价格表见文末踩坑再打开 web/src/features/dashboard/ 对应的看板按天和按模型看成本曲线把最贵的 10 次调用点进 trace 详情里看一眼原始输入输出。这一步不花一分钱但决定了后面所有优化的方向。黑洞二一个贵模型干所有活现象全部流量都打在最贵的模型上。用仓库内置价格表 worker/src/constants/default-model-prices.json 里的数字算一笔账gpt-4-1106-preview 输入约 $0.01/1K tokengpt-3.5-turbo-1106 输入约 $0.001/1K token同一个词元前者贵 10 倍输出侧差距更大。如果 80% 的流量是查订单改地址这类短问题全用高价模型就是纯浪费。对应模块模型单价与匹配规则维护在 worker/src/constants/default-model-prices.json控制台侧的模型管理在 web/src/features/models/想先小流量验证降档会不会掉质量用 web/src/features/experiments/ 跑一组 A/B。落地动作在 dashboard 里按模型聚合成本占比挑出占比最高、又最适合降档的功能切 10% 流量到低价模型跑一周用 experiments 对比评分再全量。黑洞三没人盯着——超支要到月底才发现现象某天上线了新功能调用量翻倍但一周后你才从账单里意识到。对应模块用量聚合与阈值判定在 worker/src/ee/usageThresholds/ 目录usageAggregation.ts负责按周期汇总用量thresholdProcessing.ts负责判定是否越线队列入口在 worker/src/queues/cloudFreeTierUsageThresholdQueue.ts。落地动作给自己定两条线——日成本上限和周成本上限越线即通知。另外注意这套逻辑放在ee/目录下属于云版/企业版能力自托管社区版没有现成界面可以只借鉴它按周期聚合作法的思路。优化策略一张表策略适用场景预期节省实施难度简单请求路由到低价模型60% 以上流量是 FAQ 类短问答30%~60%低裁剪输入去掉冗余历史、压缩长上下文多轮对话、整份文档塞进 prompt10%~30%中应用侧响应缓存Langfuse 负责度量重复输入占比重复问题占比 15% 以上15%~30%中日/周成本阈值告警任何生产环境兜底用避免整月超支低优先级排序的逻辑很简单先做零改动的——把成本归因和告警搭起来让问题暴露出来然后做低难度高收益的模型降档因为它直接砍单价收益与流量占比成正比通常是最先回本的一步输入裁剪其次因为它省的是用量而不是单价但做对了能叠加收益缓存放最后因为它需要你在应用层写去重逻辑且收益上限取决于你的重复率。Before / After——一个场景的数字对比拿某类电商客服机器人场景算一笔账数字基于内置价格表估算用于演示方法优化前月账单约 $13,500100% 调用走 gpt-4-1106-preview平均每次输入 1,500 token。三周后月账单约 $5,300降幅 60%60% 调用切到 gpt-3.5-turbo高价模型只处理 40% 的复杂问题平均输入降到 1,200 token降了 20%。贡献最大的是第一行策略——模型降档把六成流量从 $0.01/1K 的输入单价挪到 $0.001/1K 的模型上仅此一项就省掉了大头输入裁剪是第二贡献者缓存在这类场景里锦上添花。对照上一节的表格看难度最低的两行降档 告警恰好覆盖了最大和最小的两头这也是它排在前面的原因。踩坑提醒 继续深挖模型名对不上成本会悄悄变 null。matchPattern是正则价格表里的规则带(?i)忽略大小写、兼容openai/前缀但你的 SDK 上报gpt-4-1106-2024-01-25这种带日期的全名时若没有对应规则这条调用成本就是空值不会报错只是从统计里消失了。发现看板成本比供应商账单少八成是这个原因。token 数是估算值别拿它对账。价格表里每条记录都带tokenizerConfig比如tokensPerMessage: 3会按消息条数加固定开销所以 Langfuse 统计的 token 和供应商账单不会分毫不差用它看趋势和占比可以逐笔核对不行。别在 Langfuse 里找缓存开关。仓库里没有内置响应缓存缓存得在你应用侧做Langfuse 的价值是告诉你重复输入占了多少比例、值不值得做。想继续往下看两个目录值得翻web/src/features/experiments/ 里 A/B 模型组合的完整实现以及 web/src/features/dashboard/ 里成本看板的查询逻辑。把这两处看懂你手上就既有尺子又有剪刀下个月的账单不会再是笔糊涂账。【免费下载链接】langfuse Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. YC W23项目地址: https://gitcode.com/GitHub_Trending/la/langfuse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

笔记——强化学习

笔记——强化学习

2026/9/2 12:05:44

强化学习学习笔记——资料汇总 本期开始系统撰写强化学习资料,所有资料均为个人根据理解进行收集,欢迎各位学者批评指正 系列文章目录: (一) 马尔科夫决策过程 (二)贝尔曼方程 (三&a…

会计学开题报告写作指南:结构拆解与模板套用

会计学开题报告写作指南:结构拆解与模板套用

2026/9/2 11:55:44

“开题报告随便写写就行,反正后面论文才是重头戏”——这句话几乎每个研究生都听过,包括当年的我。但等你真正进入论文写作阶段,就会发现开题报告不是一道可以糊弄的“前置手续”,而是一张帮你避坑的研究地图。尤其在会计学这种实…

从辩题拆解到攻防设计:结构化论证方法论与工程实践指南

从辩题拆解到攻防设计:结构化论证方法论与工程实践指南

2026/9/2 11:55:44

辩论赛场上的每一次立论与攻防,本质上都是一次逻辑与表达的“工程构建”。最近南开大学与天津大学的晋级赛辩题“爱到深处,步步是苦,更应该‘一往而深’还是‘回头是岸’”引起了很多人讨论。这篇文章不点评胜负,而是把这场辩论当…

AMD 7840H/8845HS处理器深度解析:AI引擎、核显性能与选购指南

AMD 7840H/8845HS处理器深度解析:AI引擎、核显性能与选购指南

2026/9/2 14:25:51

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Flutter桌面端RGBA视频渲染:texture-rgba-renderer原理与实战

Flutter桌面端RGBA视频渲染:texture-rgba-renderer原理与实战

2026/9/2 14:25:50

简介:本资源是面向Flutter桌面端开发者的技术实践项目,聚焦于通过texture-rgba-renderer插件实现跨平台(Windows/Linux)视频渲染的纯Dart方案,有效规避传统Texture方式需为各平台重复编写原生代码的维护痛点。资源包共…

OpenAI 8520亿美元估值背后的三重门:技术人的资本逻辑与架构启示

OpenAI 8520亿美元估值背后的三重门:技术人的资本逻辑与架构启示

2026/9/2 14:25:50

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

JavaWeb音乐网站实战:Servlet+JSP+MySQL从零搭建完整项目

JavaWeb音乐网站实战:Servlet+JSP+MySQL从零搭建完整项目

2026/9/2 14:25:50

简介:这是一套基于JavaWeb技术栈开发的小型音乐网站实战项目,面向Java初学者与Web开发入门者,解决在线音乐播放、下载、分类浏览及排行榜展示等核心功能的完整实现问题。资源包共881个文件,涵盖80个JSP页面、60个Java后端类、44个…

如何理性评估技术工具价值:从宣传到落地的实用方法论

如何理性评估技术工具价值:从宣传到落地的实用方法论

2026/9/2 14:25:50

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

AI心智理论应用失败案例剖析:从Fableish看技术落地鸿沟

AI心智理论应用失败案例剖析:从Fableish看技术落地鸿沟

2026/9/2 14:15:50

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/2 10:08:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/2 12:11:52

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/9/1 23:49:08

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

2026/9/2 0:04:59

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

2026/9/2 0:04:59

这次我们来看一个很实用的 DeepSeek 落地场景:用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务,标题写得很直白,但背后其实是一整套可以复用的技术流程:字幕解析、模型调用、批量…

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

2026/9/2 0:04:59

当你家里摆着一台天猫精灵,却总希望语音助手偶尔“不正经”一点,不用官方腔回答问题,而是张口就接几句搞笑段子,会是什么体验?我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱,而是直…

远程协作的工作台整理

远程协作的工作台整理

2026/9/2 6:21:32

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/2 6:21:32

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/2 2:45:06

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…