1. Embedding 模型基础概念解析
在构建企业级 RAG(检索增强生成)系统时,Embedding 模型的选择直接影响整个系统的检索效果和响应性能。Embedding 技术的本质是将离散的文本信息转化为连续的向量表示,这种转换使得计算机能够理解和计算文本之间的语义关系。
1.1 文本向量化原理
文本向量化的过程可以类比为将文字翻译成计算机能理解的"数学语言"。当我们把"人工智能是未来技术"这句话转换为 [0.123, -0.456, 0.789, ..., 0.321] 这样的 512 维向量时,实际上是在高维空间中为这句话分配了一个独特的坐标位置。
这种转换的神奇之处在于:语义相似的句子在向量空间中的位置会彼此靠近。例如:
- "机器学习是 AI 的分支" → 向量 A
- "深度学习属于人工智能领域" → 向量 B
- "今天的天气真好" → 向量 C
在向量空间中,A 和 B 的距离会远小于 A 和 C 的距离,因为前两者在语义上都与 AI 相关。
1.2 语义相似度计算实战
余弦相似度是最常用的语义相似度度量方法,其计算过程如下:
python复制import numpy as np
def cosine_similarity(vec_a, vec_b):
dot_product = np.dot(vec_a, vec_b)
norm_a = np.linalg.norm(vec_a)
norm_b = np.linalg.norm(vec_b)
return dot_product / (norm_a * norm_b)
# 示例向量
vector_ai = np.array([0.9, 0.8, 0.7]) # "AI 技术"
vector_tech = np.array([0.85, 0.75, 0.65]) # "人工智能"
similarity = cosine_similarity(vector_ai, vector_tech)
print(f"语义相似度: {similarity:.2f}") # 输出: 0.99
在实际应用中,我们通常会使用优化后的库函数来计算大规模向量的相似度,例如 sklearn 的 cosine_similarity 函数,它支持批量计算并进行了底层优化。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Embedding 模型演进与选型策略
2.1 五代模型技术对比
Embedding 模型的发展经历了五个主要阶段,每一代都在语义理解能力和计算效率上有显著提升:
-
第一代(2013):Word2Vec 为代表的词向量模型
- 特点:静态词向量,无法处理一词多义
- 示例:"苹果"在"吃苹果"和"苹果手机"中的向量相同
-
第二代(2018):BERT 为代表的上下文相关模型
- 突破:同一单词在不同上下文中具有不同向量表示
- 局限:需要针对句子级任
