Embedding

向量嵌入

把文本(或图片、音频)转换成一串数字(向量),让计算机能度量"语义相似度"。

详解

Embedding 模型读入一段文本,输出一个高维向量(常见 384 / 768 / 1536 / 3072 维)。这个向量编码了文本的语义——含义相近的文本,对应的向量在空间里距离也近。这是 RAG 的物理基础:要在百万级文档里找出和用户问题最相关的几段,没法用关键词匹配(用户问"哺乳动物",文档写"狗",关键词搜不到),但向量距离能。Embedding 模型本身也是神经网络(如 text-embedding-3-small、BGE、Cohere Embed),和聊天模型是两类不同的模型,用不同的 API endpoint。常用距离度量是余弦相似度。

一个类比
想象给每段文字打一组"语义坐标"。"苹果"和"梨"的坐标接近(都是水果);"苹果"和"汽车"距离远;"iPhone"和"手机"距离很近,但和"梨"距离远——说明 embedding 能区分多义词在不同上下文里的不同语义。
举个例子
调用 OpenAI 的 text-embedding-3-small:
  输入:"我喜欢吃苹果"
  输出:[0.023, -0.51, 0.88, ..., 0.12]  共 1536 维
两段文本的相似度 = 它们向量的余弦值(1 = 完全相同,0 = 无关,-1 = 反义)。
PYTHON 示例
相关概念