网易首页 > 网易号 > 正文 申请入驻

月账单暴涨4倍后,我们把大模型调用成本砍了90%

0
分享至

上周财务在群里甩了张截图:本月大模型API账单5368元,环比涨4倍。"你们技术部门不花钱就难受?"那一刻,我突然理解了所有被砍过预算的算法团队。

我们做的是智能客服系统,对接三四家大客户。日活不算高,但对话极长。有些用户能跟机器人聊上百轮,每次请求都得把整段对话历史塞进上下文。模型每生成一个token,都要重新读一遍那座聊天记录大山。token像水一样流走。


必须上缓存了。不是Redis,不是CDN——是上下文缓存。核心思路是在语义层面对模型输入做去重:如果一段完整上下文已经算过一次,第二次就别傻乎乎重新算。上线后日耗token从约100万降到约10万,成本砍90%。API中位延迟从3.2秒降到0.4秒。以下是完整方案、代码,以及两个差点把我们炸飞的坑。


token到底浪费在哪

先交代背景。我们用Chat Completions API。每轮对话都要拼一个很长的messages列表发给模型。假设用户已经聊了30轮,当前请求长这样:

messages = [
{"role": "system", "content": "你是客服,请友好回答..."},
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "您好,请问有什么可以帮您的?"},
{"role": "user", "content": "我的订单没收到"},
{"role": "assistant", "content": "请提供订单号..."},
...
{"role": "user", "content": "还是没收到,已经三天了"}
]

每个新请求90%内容和上一轮一模一样,模型却从头处理所有token,账单把每个都算作输入token。典型的"Redis缓存响应"套路在这里没用,因为messages列表每次都变(末尾多一轮),缓存key永远对不上。

根因很清楚:我们没有把"已经算过的前缀"从计费和计算里剥离。如果能识别前缀已被缓存,复用上次模型的中间状态,就能省大量token。但OpenAI的API不像Anthropic那样原生暴露Prompt Caching功能(2024年底部分模型才上线),只能自己模拟。

方案设计:为什么不用向量检索,为什么要自研KV缓存

面前三条路:

1. 全消息响应缓存:只有整个messages列表完全一致才返回缓存答案。命中率几乎为零,因为每个新请求都多一轮。

2. 向量数据库语义匹配:把历史消息向量化,找"语义相似"的问题复用答案。但这会引入语义漂移,且快速演变的对话里上下文微妙变化会被忽略。更致命的是,它缓存的是"答案"而非"计算过程"——用户换种问法,向量匹配上了,但对话历史完全不同,直接复用答案会穿帮。

3. 自研KV缓存(Prefix Caching):在transformer的KV cache层面做文章。模型处理长序列时,每层的key和value矩阵可以缓存。如果新输入的前缀和缓存里的前缀完全一致,直接复用KV矩阵,只算新增的后缀部分。

第三条路才是正解。但实现上有两个硬骨头:

• 怎么快速判断"前缀是否命中缓存"——不能每次把整段文本哈希,太长
• 怎么存储和加载KV cache——OpenAI API不暴露内部状态

落地:用本地vLLM+前缀树实现

我们最终方案:弃用OpenAI API,切到本地部署的vLLM,利用其内置的Prefix Caching功能。


vLLM的PagedAttention把KV cache切成块管理。当新请求进来时,它用前缀树(radix tree)快速匹配已缓存的块序列。匹配上的块直接复用,没匹配上的部分才走模型计算。

关键代码结构:

• 对话按session_id隔离缓存
• 每轮对话的messages列表生成增量哈希(Rabin-Karp滚动哈希),O(1)更新
• vLLM的scheduler自动处理块级复用,无需业务层干预

上线效果:日token消耗从~1M降到~100K,延迟从3.2s降到0.4s。成本结构彻底改写。

两个差点炸飞的坑

坑一:缓存污染

初期测试时发现,用户A的session偶尔能命中用户B的缓存。排查发现是滚动哈希冲突——不同长文本可能撞出相同哈希值。修复:哈希值+前8个token文本做双重校验,冲突率降到可忽略。

坑二:缓存失效策略

vLLM的默认LRU淘汰在客服场景有问题。一个用户聊了两小时、上百轮,前缀树深度极大,但LRU可能把根节点淘汰掉,导致整棵树失效。改成按session_id的独立LRU池,长对话用户的缓存不被短对话挤掉。

复盘:为什么这事值得自己干

2024年底OpenAI给部分模型加了Prompt Caching beta,按缓存命中部分收25%费用。但我们的场景是:长对话、高重复、对延迟敏感。自研方案不仅更便宜(省90% vs 省75%),延迟也更低(本地推理 vs 网络往返)。

一个反直觉的发现:很多团队把"优化大模型成本"等同于"换更便宜的模型"或"压缩prompt"。但真正的大头在长对话的重复计算。上下文缓存是架构层面的重构,不是调参能解决的。

财务这个月没再@我。账单截图变成了延迟监控图——那条从3.2秒跌到0.4秒的曲线,比任何解释都有说服力。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
0:3詹姆斯再上热搜,里夫斯5000万身价打没了!列湖人G3三大罪人

0:3詹姆斯再上热搜,里夫斯5000万身价打没了!列湖人G3三大罪人

蛋疼体育
2026-05-11 17:14:25
公交集团正式员工已经躺平不了了,想要混到退休不太可能

公交集团正式员工已经躺平不了了,想要混到退休不太可能

娱乐圈见解说
2026-05-09 00:23:44
国家反诈平台竟成“内鬼”捞钱工具,最坚固的盾,成了最利的刀?

国家反诈平台竟成“内鬼”捞钱工具,最坚固的盾,成了最利的刀?

迷世书童H9527
2026-05-10 10:10:43
汪小菲飞抵台北过母亲节,玥儿姐弟罕露面,一家人游公园好惬意!

汪小菲飞抵台北过母亲节,玥儿姐弟罕露面,一家人游公园好惬意!

娱乐团长
2026-05-11 16:47:41
凤凰卫视著名主持人沈星,在母亲节当天晒出了自己孕期产检的照片

凤凰卫视著名主持人沈星,在母亲节当天晒出了自己孕期产检的照片

岁月有情1314
2026-05-11 15:07:23
状元签到手却要卖?奇才交易状元签理由曝光,神思路性价比拉满

状元签到手却要卖?奇才交易状元签理由曝光,神思路性价比拉满

夜白侃球
2026-05-11 11:10:16
CBA消息!徐昕完成新签约,辽宁四外援全部不留,潘江用人遭质疑

CBA消息!徐昕完成新签约,辽宁四外援全部不留,潘江用人遭质疑

中国篮坛快讯
2026-05-11 08:55:19
实战出真知!乌克兰靠真实战场数据,在中东赚麻了

实战出真知!乌克兰靠真实战场数据,在中东赚麻了

寰球经纬所
2026-05-10 10:10:20
女学霸发明“咯噔字体”,老师低分警告:别用个性挑战考试底线

女学霸发明“咯噔字体”,老师低分警告:别用个性挑战考试底线

蝴蝶花雨话教育
2026-05-07 00:05:04
想不到的广东:全国最富的省份,7成城市却在平均线以下

想不到的广东:全国最富的省份,7成城市却在平均线以下

风向观察
2026-05-10 19:34:45
武大用力过猛!

武大用力过猛!

梳子姐
2026-05-10 21:46:30
公安局交管大队队长被举报在KTV违规饮酒与女性举止亲密?当事人:喝茶水,涉事女士突然过来,我下意识推开

公安局交管大队队长被举报在KTV违规饮酒与女性举止亲密?当事人:喝茶水,涉事女士突然过来,我下意识推开

观威海
2026-05-11 09:30:04
揪心!文班肘击里德喉部遭驱逐,联盟深夜官宣,马刺终于松了口气

揪心!文班肘击里德喉部遭驱逐,联盟深夜官宣,马刺终于松了口气

宝哥精彩赛事
2026-05-11 16:09:48
18.98万起!长城新车官宣:超强续航1000公里,5月15日上市

18.98万起!长城新车官宣:超强续航1000公里,5月15日上市

科技堡垒
2026-05-10 11:23:22
公然拒挂国旗,订单全给日韩,长荣如今的结局早已注定

公然拒挂国旗,订单全给日韩,长荣如今的结局早已注定

潋滟晴方DAY
2026-05-11 06:31:37
汪峰母亲节晒15张照缅怀母亲,称赞章子怡是难得好儿媳

汪峰母亲节晒15张照缅怀母亲,称赞章子怡是难得好儿媳

流云随风去远方
2026-05-11 12:42:11
马扎尔正式就任匈牙利总理!欧尔班何时出逃莫斯科?

马扎尔正式就任匈牙利总理!欧尔班何时出逃莫斯科?

项鹏飞
2026-05-10 21:05:09
男子要求鱼香肉丝不放盐,店员一句“做不了”,掀翻餐饮业的底裤

男子要求鱼香肉丝不放盐,店员一句“做不了”,掀翻餐饮业的底裤

天天热点见闻
2026-05-11 15:04:16
功夫巨星新片惨败,三天没有票房统计,观众差评如潮

功夫巨星新片惨败,三天没有票房统计,观众差评如潮

影视高原说
2026-05-10 13:09:18
比利时将向乌克兰提供全部F-16战机

比利时将向乌克兰提供全部F-16战机

参考消息
2026-05-11 14:37:08
2026-05-11 18:52:49
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
2533文章数 26关注度
往期回顾 全部

科技要闻

黄仁勋:你们赶上了一代人一次的大机会

头条要闻

外交部介绍特朗普访华具体安排和中方期待

头条要闻

外交部介绍特朗普访华具体安排和中方期待

体育要闻

梁靖崑:可能是最后一届了,想让大家记住这个我

娱乐要闻

“孕妇坠崖案”王暖暖称被霸凌协商解约

财经要闻

多重催化剂共振,人民币汇率升破6.8

汽车要闻

吉利银河“TT”申报图曝光 电动尾翼+激光雷达

态度原创

家居
游戏
房产
数码
旅游

家居要闻

多元生活 此处无声

《魔法门之英雄无敌:上古纪元》EA评测8.9分:最后的英雄

房产要闻

产业赋能教育!翰林府与北师大的这场签约,绝不那么简单!

数码要闻

曜越CT120 EX INFINITY ARGB系列风扇发售,三联包售499元

旅游要闻

从看热闹到掏腰包,文商旅体融合进入“深水区”

无障碍浏览 进入关怀版