3分钟搞懂Embedding嵌入
Embedding(嵌入)= 把文字/图片/音频转换成向量(一串数字),让计算机能'理解'语义,是所有 AI 应用的基础。
一句话定义
Embedding(嵌入)= 把文字/图片/音频转换成向量(一串数字),让计算机能"理解"语义,是所有 AI 应用的基础。
打个比方
计算机如何理解"相似性":
- 人类理解:"猫"和"小猫"很相似,"猫"和"汽车"不相似
- 计算机困境:文字只是符号,计算机不知道"猫"和"小猫"有什么关系
- Embedding 解法:把文字变成坐标点,相似的词距离近
地图类比:
- 想象一个高维空间(几百维)的地图
- "猫"在坐标
[0.8, 0.2, -0.5, ...] - "小猫"在坐标
[0.82, 0.18, -0.48, ...](离"猫"很近) - "汽车"在坐标
[-0.3, 0.7, 0.9, ...](离"猫"很远)
具体例子:
- "国王" - "男人" + "女人" ≈ "女王"(Word2Vec 经典案例)
- 这说明 Embedding 不只是位置,还捕捉了语义关系

核心要点(3个)
1. Embedding 的基本原理
把离散符号(文字)转换成连续向量(数字)。
为什么需要 Embedding:
-
问题:计算机只认数字,不认文字
-
传统方法 One-Hot 编码的缺陷:
猫 = [1, 0, 0, 0, ...] (第1个位置是1) 狗 = [0, 1, 0, 0, ...] (第2个位置是1) 汽车 = [0, 0, 1, 0, ...] (第3个位置是1)- 维度爆炸:词汇量10万,就要10万维
- 无法表达相似性:"猫"和"狗"距离 = "猫"和"汽车"距离
-
Embedding 解决方案:
猫 = [0.8, 0.2, -0.5] (压缩到几百维) 狗 = [0.75, 0.25, -0.45] (与"猫"距离近) 汽车 = [-0.3, 0.7, 0.9] (与"猫"距离远)- 维度固定(通常300-3072维)
- 相似词距离近

Embedding 的核心特性:
- 稠密(Dense):每个维度都有意义,不是稀疏的
- 低维:几百到几千维,而非词汇量那么多维
- 语义性:相似的词/句子,向量距离近
- 可计算:可以做加减乘除,进行语义运算
维度的意义(举例):
- 第1维:可能表示"生物性"(猫0.8,汽车-0.3)
- 第2维:可能表示"体型大小"(大象0.9,蚂蚁-0.8)
- 第3维:可能表示"危险性"
- 实际上几百到几千维,每维的含义不明确但组合起来表达语义
2. Embedding 技术的演进
从 Word2Vec 到 GPT Embedding 的进化史。
第一代:Word2Vec(2013,Google)
- 核心思想:一个词的意思由它的邻居决定
- 方法:
- CBOW:用上下文预测中心词
- Skip-gram:用中心词预测上下文
- 维度:通常300维
- 优势:快速、高效、捕捉词语义
- 局限:
- 一词一向量(bank 在"银行"和"河岸"含义不同,但向量相同)
- 只有词级别,没有句子级别
第二代:GloVe(2014,斯坦福)
- 改进:结合全局统计信息
- 方法:词共现矩阵分解
- 特点:与 Word2Vec 类似效果,训练更稳定
第三代:BERT Embeddings(2018,Google)
- 突破:上下文感知(Contextual Embeddings)
- 特点:
- 同一个词在不同句子中,向量不同
- 例:"bank"在"river bank"和"bank account"中向量不同
- 维度:768维(BERT-base)
- 方法:Transformer 编码器
- 优势:理解上下文,更准确
第四代:OpenAI ada-002(2022)
- 模型:text-embedding-ada-002(已于2024年弃用,不推荐新项目使用)
- 维度:1536维
- 历史意义:首次将高质量 Embedding 以 API 形式普及,推动 RAG 大规模落地
第五代:当前主流(2024+)
- text-embedding-3-small:OpenAI 推荐入门首选,性价比最高
- 维度:最高1536维,支持自定义截断(最低256维)
- 价格:$0.00002/1K tokens,比 ada-002 便宜5倍且效果更好
- text-embedding-3-large:OpenAI 最高精度方案
- 维度:最高3072维,支持自定义截断
- 价格:$0.00013/1K tokens
- Cohere Embeddings:多语言支持强
- Jina Embeddings:支持8K长文本
- 开源方案:sentence-transformers(Hugging Face)

技术对比:
| 技术 | 时间 | 维度 | 上下文感知 | 适用场景 |
|---|---|---|---|---|
| Word2Vec | 2013 | 300 | ❌ | 词语义相似度 |
| GloVe | 2014 | 300 | ❌ | 词语义相似度 |
| BERT | 2018 | 768 | ✅ | 文本分类、NER |
| OpenAI ada-002 | 2022 | 1536 | ✅ | 已弃用 |
| OpenAI 3-small | 2024 | 256-1536 | ✅ | 通用语义搜索(推荐) |
| OpenAI 3-large | 2024 | 256-3072 | ✅ | 高精度搜索 |
3. Embedding 的实际应用

Embedding 是 AI 应用的"幕后英雄"。
核心应用场景:
1. 语义搜索:
# 传统关键词搜索
search("苹果手机") → 只找到包含"苹果手机"的文档
# Embedding 语义搜索
search("苹果手机") → 找到"iPhone""苹果设备""Apple手机"等- 优势:理解同义词、近义词、相关概念
- 应用:Google 搜索、企业知识库
2. RAG(检索增强生成):
用户问题 → Embedding → 向量数据库搜索相似文档 →
喂给 LLM → 生成回答
- 核心组件:Embedding 把问题和文档转成向量
- 应用:ChatGPT 记忆、企业问答机器人
3. 推荐系统:
- 电商:推荐相似商品(商品描述 Embedding)
- 内容:推荐相似文章/视频(标题+简介 Embedding)
- 音乐:推荐相似歌曲
4. 内容分类和去重:
- 自动分类:把文章 Embedding,相似的聚在一起
- 去重:检测重复内容(Embedding 距离近)
- 垃圾识别:垃圾邮件/评论检测
5. 多模态搜索:
- CLIP:图片和文字在同一向量空间
- 以图搜图:图片 Embedding 相似度
- 跨模态搜索:文字搜图片,图片搜文字
6. AI Agent 记忆:
- 存储历史对话 Embedding
- 需要时检索相关对话
- 实现"长期记忆"
实战代码示例(OpenAI Embeddings,v1.x API):
from openai import OpenAI
import numpy as np
client = OpenAI()
def get_embedding(text: str) -> list[float]:
response = client.embeddings.create(
model="text-embedding-3-small",
input=text
)
return response.data[0].embedding
# 计算相似度
def cosine_similarity(a, b):
a, b = np.array(a), np.array(b)
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
text1 = "如何学习人工智能?"
text2 = "AI学习方法"
text3 = "今天天气真好"
emb1 = get_embedding(text1)
emb2 = get_embedding(text2)
emb3 = get_embedding(text3)
print(cosine_similarity(emb1, emb2)) # 约0.85(很相似)
print(cosine_similarity(emb1, emb3)) # 约0.2(不相似)成本和性能:
- OpenAI text-embedding-3-small:$0.00002/1K tokens(1万字约$0.002)
- OpenAI text-embedding-3-large:$0.00013/1K tokens
- 延迟:几十毫秒
- 批量处理:可并发,单条最多支持8191个 token
为什么重要
Embedding 是 AI 理解世界的"翻译器",把人类语言翻译成计算机能理解的数字。
对 AI 的意义:
- 🧠 语义理解基础:让 AI"懂"文字的意思
- 🔗 连接不同模态:CLIP 连接图像和文本
- 🚀 AI 应用的基石:搜索、推荐、RAG 都依赖 Embedding
- 💰 降低成本:不需要重新训练模型,直接调用 Embedding API
技术突破意义:
- Word2Vec(2013):开启 Embedding 时代
- BERT(2018):上下文感知,质的飞跃
- OpenAI text-embedding-3(2024):通用化、高性价比,人人可用
无处不在:
- 你用 Google 搜索:背后是 Embedding 语义理解
- 你刷抖音推荐:Embedding 计算相似度
- 你问 ChatGPT:RAG 的 Embedding 检索相关信息
常见误解
误解1:Embedding 就是把文字变成数字
真相:不只是"变成数字",而是捕捉语义。相似的词,向量距离近,这是核心。
误解2:维度越高越好
真相:不是越高越好。text-embedding-3-small 最高1536维,3-large 最高3072维,但 3-small 在大多数任务上够用且更便宜。新模型还支持自定义截断维度,可按需降维。
误解3:一个词只有一个 Embedding
真相:BERT 之后,同一个词在不同上下文中,Embedding 不同。"bank"在"river bank"和"bank account"中向量不同。
误解4:Embedding 是最终结果
真相:Embedding 是中间表示,需要后续处理(如相似度计算、分类器、LLM 生成)才能产生最终结果。
Embedding 产品选择
快速上手(推荐首选):
└─ OpenAI text-embedding-3-small
- API 调用简单,性价比最高
- 比 ada-002 更便宜且效果更好
追求极致精度:
└─ OpenAI text-embedding-3-large
- 最高3072维,支持自定义截断
- 价格略高
开源免费:
└─ sentence-transformers(Hugging Face)
- 模型多,可本地部署
- all-MiniLM-L6-v2(轻量)
- all-mpnet-base-v2(效果好)
多语言场景:
├─ Cohere Embeddings(100+语言)
└─ multilingual-e5(开源)
长文本(>512 tokens):
├─ Jina Embeddings(8K)
└─ OpenAI text-embedding-3(8K+)
本地部署(隐私要求):
└─ sentence-transformers 本地模型
3秒总结
记住这3点就够了:
- ✅ 文字变坐标:把文字转成向量,相似的词距离近
- ✅ 语义理解基础:让 AI"懂"文字意思,不只是匹配字符
- ✅ 无处不在:搜索、推荐、RAG、分类,所有 AI 应用都用
⚠️ 时效性提醒
知识截止:2026-04-28
Embedding 技术持续进化:
- 模型更新:OpenAI 定期发布新 Embedding 模型,ada-002 已弃用
- 维度优化:可调维度(3-large 支持256-3072维)
- 成本下降:竞争加剧,API 价格持续下降
- 多模态融合:图文音频统一 Embedding 空间
建议查看最新:
- OpenAI Embeddings 文档
- Hugging Face sentence-transformers
- MTEB 排行榜(Embedding 模型 benchmark)
💬 互动话题:你在用哪家的 Embedding 服务?OpenAI 还是开源方案?
📖 相关阅读:
- 3分钟搞懂向量数据库 - Embedding 的存储和检索
- 3分钟搞懂RAG检索增强 - Embedding 的主要应用
- 3分钟搞懂Transformer - BERT Embedding 的架构基础
创作日期:2025-12-05 更新日期:2026-04-28