在 RAG(检索增强生成)系统中,选择 Cosine Similarity(余弦相似度) 还是 L2 Distance(欧氏距离),主要取决于你使用的 Embedding 模型(嵌入模型) 以及数据的特性。 这里有一个简单的结论(TL;DR): 在绝大多数 RAG 文本检索场景下,首选 Cosine Similarity(或者归一化后的 Dot Product)。 以下是详细的决策逻辑和背后的原理: --- 1. 核心区别:关注“方向”还是“距离”? Cosine Similarity (余弦相似度): 关注点:向量在空间中的方向(角度)。 含义:它衡量两个向量在语义上是否“指向同一个主题”。 特点:它对向量的长度(Magnitude)不敏感。 场景:在文本语义中,一篇关于“苹果公司”的短文和一篇关于“苹果公司”的长文,虽然词数不同(向量长度可能不同),但主题一致,余弦相似度会很高。 L2 Distance (欧氏距离): 关注点:向量端点在空间中的直线距离。 含义:它同时受方向和长度的影响。 特点:如果两个向量方向一致但长度差异巨大,欧氏距离会认为它们不相似。 场景:如果向量未...