Embedding 向量化入门:让机器「理解」语义
Embedding 原理 · 语义搜索 · 相似度 · 向量模型选型
核心结论:Embedding 把文字变成空间里的坐标,「意思越近、距离越近」。它是语义搜索、推荐、聚类与 RAG 的共同地基。
一、一句话理解向量
想象把每句话画到一张多维地图上:「猫」和「小猫」离得很近,「猫」和「股票」离得很远。Embedding 模型做的就是这件「语义测绘」的事,输出一串数字坐标。
二、它能干什么
| 场景 | 做法 |
|---|---|
| 语义搜索 | 把查询与文档都向量化,找最近的片段 |
| RAG 检索 | 见RAG 详解 |
| 去重/聚类 | 按距离分组相似内容 |
| 推荐 | 用兴趣向量匹配内容向量 |
三、选型与落地要点
- 语言匹配:中文业务选对中文友好的向量模型,跨语言检索需模型本身支持。
- 维度权衡:768-1536 维对多数场景够用,维度的提升边际递减。
- 归一化:推理时统一做 L2 归一化,余弦相似度才稳定可比。
- 版本固定:索引用的向量模型版本不要随意更换,否则新旧向量不可比。
提示向量模型与生成模型是两套独立模型:一个负责「理解/检索」,一个负责「生成」。它们常配合使用,但选型互不影响。
四、常见问题
Embedding 到底是什么?
Embedding 是把文本映射成一串数字(向量)的技术,语义相近的文本向量在空间中距离也更近。它把「文字」变成「可计算的距离」,从而支持语义层面的相似度比较。
它和直接关键词搜索有什么不同?
关键词搜索看字面是否重合;向量检索看语义是否相近。例如「怎么退订」和「如何取消订阅」字面不同,但向量会判定为高度相似,这正是 RAG 与智能搜索的基础。
相似度一般用哪种度量?
最常用余弦相似度,取值范围 -1 到 1,越接近 1 越相似。也有用点积或欧氏距离的,取决于向量是否做了归一化。
选向量模型看什么?
看维度、多语言支持、领域适配与推理速度。中文场景优先选对中文友好的模型;专业领域(如法律、医学)可关注有无领域增强版本。
向量维度越高越好吗?
不一定。更高维度表达能力更强但更占存储与算力。多数业务 768-1536 维已足够,需在效果与成本间权衡。
同一句话每次向量一样吗?
同一模型、同一参数下是确定的;换模型或开启非确定性选项是不同的,所以索引与查询必须用同一个模型。
长文档怎么向量化?
先切片再逐段向量化(见 RAG 的切片策略),检索时返回最相关的若干段。