《Agent开发工程师成长指南》- 第2章 第5节:Embedding详解——AI为什么能理解“苹果”和“水果”是相近的?
第一卷:大模型 基础篇
第2章 大模型基础原理
第5节:Embedding详解——AI为什么能理解“苹果”和“水果”是相近的?
《Agent开发工程师成长指南》系列教程
引言
学习到这里,我们已经了解了:
Transformer
Attention
Token
接下来,我们要进入整个大模型应用开发中最重要的一个概念:
Embedding(向量化)
如果说:
Transformer负责思考;
Attention负责理解;
那么:
Embedding负责让AI"认识世界"。
几乎所有企业级AI应用都会用到Embedding,例如:
RAG知识库
向量数据库
语义搜索
文档去重
相似问题推荐
智能客服
Agent长期记忆(Memory)
可以说:
不会Embedding,就不可能真正理解RAG和Agent。
一、什么是Embedding?
先来看一个问题。
下面三个词:
苹果 香蕉 西瓜请问:
它们有什么关系?
人类会立即回答:
都属于水果。
再看:
苹果 西红柿 CPU我们的大脑会认为:
CPU明显不是水果。
为什么?
因为:
我们的大脑能够理解:
词语之间存在"语义距离"。
AI也是一样。
但是:
计算机不能理解:
苹果是什么意思。
它只能理解:
101010101所以:
需要一种方式:
把文字转换成:
模型能够计算的数字。
这就是:
Embedding。
一句话定义:
Embedding就是把文字、图片、声音等内容转换成数学向量,并尽可能保留它们之间的语义关系。
二、什么是向量(Vector)?
很多人第一次看到:
[0.21, -0.35, 0.84, ……]都会懵。
其实:
这就是:
一个向量。
例如:
苹果 ↓ [0.31,0.52,-0.18,0.66......]再例如:
香蕉 ↓ [0.30,0.55,-0.20,0.63......]可以发现:
数字非常接近。
说明:
它们语义接近。
而:
CPU ↓ [-0.82,0.13,0.91,-0.52......]完全不同。
说明:
语义距离很远。
所以:
模型真正比较的。
不是:
文字。
而是:
向量。
三、为什么Embedding能够表示语义?
来看下面几个词:
苹果 香蕉 西瓜 汽车 飞机 火车如果画到二维空间。
可能是:
水果 苹果 香蕉 西瓜 汽车 飞机 火车可以发现:
水果。
聚集在一起。
交通工具。
聚集在一起。
这就是:
Embedding空间。
也叫:
Vector Space(向量空间)。
模型训练过程中。
会自动学习:
哪些词:
应该靠近。
哪些词:
应该远离。
因此:
Embedding:
实际上就是:
语义地图。
四、Embedding是如何生成的?
来看整个流程。
文本 ↓ Tokenizer ↓ Token ↓ Embedding Model ↓ 向量(Vector) ↓ Transformer例如:
输入:
苹果很好吃Tokenizer:
苹果 很 好吃然后:
Embedding模型:
把每一个Token。
变成:
768维。
或者:
1024维。
甚至:
3072维向量。
例如:
苹果 ↓ [0.18,0.21,-0.56……]最后:
Transformer。
继续处理。
五、什么是Embedding模型?
很多新人认为:
GPT负责Embedding。
其实:
不是。
通常:
Embedding。
由专门模型完成。
例如:
企业开发中常见:
BGE
E5
m3e
text-embedding-3-small
text-embedding-3-large
它们:
专门负责:
文本向量化。
而不是:
聊天。
因此:
RAG项目。
一般:
至少:
两个模型。
Embedding + LLM分别负责:
向量。
生成答案。
六、为什么RAG离不开Embedding?
例如:
知识库:
文档A: 员工请假制度 文档B: 服务器部署规范 文档C: Java编码规范用户:
提问:
年假怎么算?如果:
关键词检索。
可能:
找不到:
请假制度因为:
没有:
年假。
这个词。
但是:
Embedding。
发现:
年假 ↓ 请假 ↓ 休假 ↓ 假期语义接近。
于是:
仍然能够找到:
正确文档。
这就是:
语义检索。
七、什么是向量相似度?
两个向量。
如何比较?
常见方法:
方法一:
余弦相似度(Cosine Similarity)
也是:
最常见方法。
例如:
苹果 香蕉 ≈ 0.95说明:
非常相似。
而:
苹果 CPU ≈ 0.12说明:
几乎无关。
企业里面。
绝大多数:
RAG。
都是:
Cosine Similarity。
方法二:
点积(Dot Product)
速度快。
适合:
部分模型。
方法三:
欧氏距离
计算:
空间距离。
目前:
使用较少。
八、Embedding在Agent中的应用
Embedding。
不仅仅:
用于RAG。
实际上:
Agent。
大量使用:
Embedding。
例如:
Memory
长期记忆。
全部:
向量化。
工具推荐
根据:
用户问题。
找到:
最适合:
Tool。
Skills匹配
自动:
找到:
最适合Agent。
多Agent协作
寻找:
最相关:
专家Agent。
因此:
Embedding。
其实贯穿:
整个Agent。
九、企业中如何选择Embedding模型?
主要考虑:
中文效果
例如:
BGE。
m3e。
通常:
中文更好。
多语言
例如:
E5。
支持:
多语言。
向量维度
768。
1024。
3072。
越高。
效果通常更好。
但是:
存储。
检索。
成本。
也更高。
推理速度
在线API。
还是:
本地部署。
也是:
重要因素。
十、Agent开发工程师需要掌握到什么程度?
至少需要理解:
✅ Embedding是什么?
✅ 为什么Embedding能够表示语义?
✅ 什么是向量空间?
✅ 什么是余弦相似度?
✅ Embedding模型与LLM的区别?
✅ 为什么RAG离不开Embedding?
如果掌握这些。
后面学习:
向量数据库
FAISS
Milvus
Elasticsearch
Hybrid Search
都会轻松很多。
面试题
问题1
什么是Embedding?
参考答案:
Embedding是将文本、图片等非结构化数据转换为高维向量表示的方法,使模型能够计算语义相似度,是RAG和语义检索的基础。
问题2
为什么Embedding能够理解语义?
参考答案:
因为Embedding模型通过大规模训练,将语义相近的内容映射到向量空间中相近的位置,使相似内容具有相似的向量表示。
问题3
RAG为什么需要Embedding?
参考答案:
RAG依赖Embedding将文档和用户问题转换为向量,通过计算向量相似度实现语义检索,而不仅仅依赖关键词匹配。
问题4
常见的向量相似度计算方法有哪些?
参考答案:
常见方法包括余弦相似度(Cosine Similarity)、点积(Dot Product)和欧氏距离(Euclidean Distance),其中余弦相似度是RAG应用中最常用的方法。
问题5
Embedding模型和大语言模型有什么区别?
参考答案:
Embedding模型专门用于生成向量表示,适合检索、聚类和相似度计算;大语言模型主要负责理解、推理和文本生成,两者通常在RAG系统中协同工作。
本章小结
本节我们学习了:
✅ Embedding 的定义与作用
✅ 向量(Vector)和向量空间
✅ Embedding 模型的工作流程
✅ 语义相似度计算原理
✅ Embedding 在 RAG 和 Agent 中的应用
✅ 企业级 Embedding 模型选型思路
至此,你已经掌握了RAG 的第一块基石——Embedding。
