Embedding / 向量嵌入

7600

Embedding 中文常译作“向量嵌入”或“嵌入”。在 AI 语境里,它指把文字、图片、音频或其他对象转换成一组数字,让机器可以比较它们之间的相似程度

Embedding向量语义搜索文本表示
向量嵌入与语义空间
向量嵌入与语义空间

Embedding 中文常译作“向量嵌入”或“嵌入”。在 AI 语境里,它指把文字、图片、音频或其他对象转换成一组数字,让机器可以比较它们之间的相似程度。

人可以直觉判断“猫”和“狗”比“猫”和“冰箱”更接近,但计算机需要数字。Embedding 的作用,就是把这种“意思相近”变成可计算的距离。

先用一句话抓住它

Embedding 是把文本、图片等信息转换成数字向量,用来表示它们的含义和相似度。

可以把它想成一张看不见的语义地图。意思接近的内容在地图上位置更近,意思差很远的内容位置更远。

机器如何比较“意思”

关键词搜索只能匹配字面词。比如你搜索“如何提高睡眠质量”,一个标题叫“改善入睡困难的方法”的文章可能没有完全相同的关键词,但意思很接近。Embedding 检索关注的是语义相似度,因此更容易找到这种“说法不同、意思相近”的内容。

flowchart LR
    Text["文本 / 图片 / 音频"] --> Model["Embedding 模型"]
    Model --> Vector["向量"]
    Vector --> Compare["相似度比较"]
    Compare --> Result["检索 / 聚类 / 推荐"]

向量就是一组数字,维度是这组数字的长度。模型会把文本、图片或音频放进向量空间里,再通过距离或相似度判断它们是否接近。向量数据库则负责存储这些向量,并在大量内容中快速找出相似结果。

Embedding 常在哪里出现

Embedding 最常见的用途是语义搜索。用户用自然语言提问,系统把问题转成向量,再去文档向量中找最接近的片段。RAG 系统也经常依赖这个过程:先用 Embedding 找资料,再让大语言模型基于资料回答。

推荐系统、内容聚类、重复内容发现、相似图片搜索,也都可以用 Embedding。它的价值在于让机器不只看关键词,而是能用数字方式处理“相似”“接近”“相关”这些概念。

和 Token、RAG 的关系

Token 解决的是“怎么切文本”,Embedding 解决的是“怎么表示含义”。文本通常先被模型处理成 token,再进一步变成向量表示。两者经常一起出现,但作用不同。

RAG 中的 Embedding 更容易理解:系统把文档片段提前转成向量,用户提问时也转成向量,然后找出距离最近的片段交给模型。没有 Embedding,也可以做关键词检索;但有了 Embedding,系统更容易找到表达不同但意思相近的资料。

容易误解的地方

Embedding 不是原文压缩包。向量能表示语义位置,但不能完整还原原文。相似也不等于正确,语义接近的资料可能过时、错误或不适用于当前问题。

另一个误区是只迷信向量搜索。实际系统里,关键词检索、过滤条件、重排、权限控制和人工评估都很重要。向量维度更高也不自动代表效果更好,模型质量、文本切分和检索策略同样关键。

怎么判断它该不该用

使用 Embedding 时,要关注三个问题:内容怎么切分,选择什么模型,检索结果怎么评估。尤其在 RAG 中,检索到的资料质量直接影响最终回答。

如果资料有权限差异,还要确保向量检索不会把用户无权访问的内容返回给模型。

资料来源