文章目录
- RAG 成本优化实战:一次问答到底花多少钱,怎么砍
- 一、先把成本拆开
- 二、省钱招数(按性价比排序)
- 第 1 刀:检索缓存(ROI 最高)
- 第 2 刀:砍输入 token —— 上下文压缩
- 第 3 刀:rerank 降级 / 只在必要时用
- 第 4 刀:embedding / 生成换小模型
- 第 5 刀:批处理与并发
- 三、架构层面的省钱
- 四、怎么衡量省没省对
- 五、常见误区
- 小结
RAG 成本优化实战:一次问答到底花多少钱,怎么砍
RAG 上线前大家关心效果,上线后老板关心账单。一次看似免费的「问答」,背后藏着 embedding 调用、向量库查询、rerank、大模型生成、还可能多轮检索——流量一上来,每月账单能吓人一跳。
本文把 RAG 的成本拆开看清楚,再给一套按性价比排序的省钱招数,让你知道先砍哪刀最值。
一、先把成本拆开
一次典型问答的真实开销构成:
| 环节 | 计费方式 | 成本量级 |
|---|---|---|
| Query embedding | 按 token | 低 |
| 向量库查询 | 按次 / 资源 | 低(自建几乎免费) |
| Rerank | 按 token(最贵) | 中高 |
| 生成 LLM | 输入+输出 token | 中(输入常是大头) |
| 多轮 / 多 query | 以上 ×N | 翻倍风险 |
很多人忽略:生成阶段的「输入 token」往往比输出贵得多——因为你把好几篇文档全文塞进 prompt 了。优化输入长度,比优化输出字数省得多。
二、省钱招数(按性价比排序)
第 1 刀:检索缓存(ROI 最高)
前面专篇讲过,热门问题重复率高,缓存「query → 召回结果」能直接砍掉 40%~70% 的 embedding + 检索 + rerank 调用。几乎是零成本高收益,第一优先做。
第 2 刀:砍输入 token —— 上下文压缩
把 10 篇文档全文塞进 prompt,输入 token 爆炸。两招解决:
- rerank 精选 top-k:用 rerank 从 20 篇里挑最相关的 3~5 篇,输入量砍掉 3/4。
- 文档摘要后再塞:先用小模型对每篇做「和问题相关的摘要」,只把摘要送进生成 prompt,token 量再降一截。
第 3 刀:rerank 降级 / 只在必要时用
rerank 是最贵的单环节。可以:
- 只在「向量检索 top-k 分数接近、区分度低」时才调用 rerank,分数拉开时直接用向量排序;
- 用更便宜的 rerank 模型(小 cross-encoder)替代大模型 rerank;
- 高并发场景干脆用「向量 + 关键词」双路融合(RRF),免掉 rerank。
第 4 刀:embedding / 生成换小模型
- embedding 用
bge-small/multilingual-e5-small这类小模型,效果掉一点、成本降一大截,很多场景感知不到差异。 - 生成模型:能用 7B/14B 本地模型解决的,别用旗舰 API;需要强推理的才上大模型。
- 多模型策略:简单问答走小模型,复杂问题才升级大模型(用个轻量分类器路由)。
第 5 刀:批处理与并发
embedding 支持批量,把多个 query 的 embedding 合并一次调用,单价更低;生成侧用 vLLM 连续批处理,显存利用率拉满,单位成本高。
三、架构层面的省钱
- 冷热分离:高频知识进缓存 / 内存,低频才走完整检索。
- 分层存储:向量库热数据用内存、冷数据落盘,降本不降体验。
- 本地化大块头:embedding 和 rerank 这类高频调用,本地小模型跑比 API 调用长期便宜(一次显卡投入,免持续账单)。
四、怎么衡量省没省对
建立单问答成本看板:
- 平均每次问答的 embedding token / rerank token / 生成 token 分别是多少;
- 缓存命中率多少;
- 各模型调用占比。
优化前后对比这三个数,就知道哪刀砍对了。警惕「为了省 1 分钱,把答案质量砍废了」——成本优化必须和 Faithfulness / Relevance 评测绑定,质量掉了的省钱都是假省。
五、常见误区
- 只盯生成模型价格:生成只占一部分,rerank 和输入 token 常常更该优化。
- 盲目上最大模型:80% 的问答用 14B 本地模型就够了,旗舰模型是浪费。
- 缓存不设失效:省钱但喂旧答案,事故成本远高于省下的 API 费(见检索缓存专篇)。
- 不做成本看板:不知道钱花哪了,优化就是盲人摸象。
小结
RAG 成本优化的正确顺序是:先上检索缓存(ROI 最高)→ 压缩输入 token(rerank 精选 + 摘要)→ rerank 降级 → embedding/生成换小模型 → 批处理并发。核心认知是「生成输入 token 常是大头,砍它最值;rerank 最贵,能免则免」。所有优化都要绑着质量评测,别省出事故来。