为什么 RAG系统里,Embedding成本往往远低于 LLM成本,但很多公司仍然疯狂优化 Embedding?

前两天一个朋友问了我这个问题。

这是一个 AI 工程里非常典型、但很多人第一次会困惑的问题

还不了解Embedding的小伙伴点击了解详情,建议了解了什么是 Embedding 再继续看哦。

先说结论

Embedding 单次成本低,但调用规模极大、频率极高、可优化空间大,所以公司会疯狂优化。

换句话说:

LLM 是*"贵但少用"*,毕竟每一次对话大多数情况下LLM只调用一次(公司有额外的业务场景另算

Embedding 是 "便宜但一次对话里一般需要调用多次"

一、调用次数不是一个量级

在一个典型的 RAG系统 里:

LLM 调用

只在 最后一步回答问题 时调用。

流程:

scss 复制代码
用户问题
   ↓
Embedding(query)
   ↓
向量检索
   ↓
拿到文档
   ↓
LLM 生成回答

所以:

一次提问 == 1 次 LLM

Embedding 调用

假定你是一个完善的AI产品,拥有完整的agentEmbedding,接下来我们模拟一次输入。

Embedding通常包括:

1.用户问题 embedding
复制代码
用户问题 → embedding → 检索

这就一次了 ,而且每次提问都会发生

有些产品为了持久化缓存历史记录,还会把回答的内容再次进行切片,然后分片继续 embedding,存入。

分完片embedding又得好几次。

2.公司数据预填入

假设公司有文档100万条需要存入向量数据库,那么每条都要 embedding 一次。就是1000000 次 embedding

3.数据更新 embedding

企业知识库会更新:

复制代码
新增文档
修改文档
重新切片

都会重新 embedding。

4. 缓存失效 / 重建索引

例如:

复制代码
换 embedding 模型
向量维度升级
索引重建

可能要 全库重新 embedding

所以调用规模通常是:

类型 调用次数
LLM 1 次 / query
Embedding N 次 / query + 全库

很多系统里:

arduino 复制代码
Embedding调用量 = LLM 的 10 ~ 1000 倍  //具体哪个数量级取决于公司产品业务需求

二、Embedding 发生在"高 QPS 环节"

QPS = Queries Per Second每秒查询数

Embedding 是在线服务

复制代码
用户提问
   ↓
embedding
   ↓
向量搜索

如果:

ini 复制代码
DAU = 10万
每人10次提问

DAU = Daily Active Users
日活跃用户数

一天:

复制代码
100万次 embedding

这是 实时调用

而 LLM:

很多公司会做:

复制代码
缓存
FAQ
模板回答
降级

所以:

很多请求不会真的打到 LLM,不然容易破产。

但:Embedding 基本无法绕过 因为:检索必须有向量

三、Embedding 优化收益大

假设:

embedding 单价

bash 复制代码
$0.00002 / 次

一天:

复制代码
100万次

成本:

bash 复制代码
$20 / 天

一年:

bash 复制代码
$7300

如果系统规模是:

复制代码
1亿次 / 天

那就是:

bash 复制代码
$2000 / 天
≈ $73万 / 年

所以很多公司会:优化策略

1.query embedding 缓存

很多问题是重复的。

复制代码
北京天气
北京天气
北京天气

缓存:

arduino 复制代码
query → vector

直接命中。

2.本地 embedding 模型

不用 API:

复制代码
bge-small
e5-small
gte-small

GPU 一次跑几百条。

成本几乎:

复制代码
≈ 0
3.批量 embedding

很多 API 支持:

复制代码
batch embedding

例如:

复制代码
100 条一起 embedding

吞吐量会高很多。

4. 只 embedding 新数据

很多公司会做:

bash 复制代码
hash
版本号

只对新增内容 embedding。

四、Embedding 是 RAG 的"基础设施"

LLM 只是 生成层

但 RAG 系统真正的核心其实是:

复制代码
数据层

结构是:

复制代码
数据
 ↓
切片
 ↓
embedding
 ↓
向量数据库
 ↓
检索
 ↓
LLM

这里面:

embedding 是整个数据 pipeline 的入口。

如果 embedding 不好:

问题会很多:

  1. 检索不准
  2. 召回差
  3. 上下文错
  4. LLM乱答

所以公司优化的不只是 成本,还有:embedding质量

可以记住一个 AI工程经验公式

ini 复制代码
LLM = 最贵的脑子
Embedding = 最忙的工人

所以:

复制代码
LLM 优化 = 节省单次成本
Embedding 优化 = 节省规模成本

总结

  1. Embedding 单次成本低,但调用规模极大、频率极高、可优化空间大,所以公司会疯狂优化
  2. 一次对话里大概只有一次LLM,但是会有多次Embedding
  3. Embedding的触发原因包括但不限于:*数据更新/公司数据预填入/缓存失效 + 重建索引/用户问题 *等等
  4. 优化Embedding不止优化成本,还优化质量

最后

如果对你有用的话

相关推荐
汀丶人工智能1 小时前
基于 Milvus 构建企业级 RAG 问答系统:从原理到实践-CSDN博客
人工智能
952361 小时前
初识多线程
java·开发语言·jvm·后端·学习·多线程
宇擎智脑科技1 小时前
A2A 协议规范深度剖析:三层架构、数据模型、操作语义与协议绑定
人工智能·a2a
墨渊君1 小时前
OpenClaw 上手实践: 使用 Docker 从构建到可用全流程指南
前端·agent
冰暮流星1 小时前
javascript之回调函数
开发语言·前端·javascript
二哈赛车手1 小时前
新人笔记---责任链模式
后端
Mintopia1 小时前
如何降低 Prompt 对 AI 理解的干扰
人工智能
七夜zippoe1 小时前
OpenClaw 会话管理:单聊、群聊、多模型
大数据·人工智能·fastapi·token·openclaw
电商API_180079052471 小时前
电商平台公开数据采集实践:基于合规接口的数据分析方案
开发语言·数据库·人工智能·数据挖掘·数据分析·网络爬虫