1. Cosine Distance(余弦距离)

✅ 99% 文本 RAG 场景都用它

  • 只比较语义方向,不关心向量长度
  • 文本 embedding(OpenAI、BGE、m3e 等)天生适合
  • pgvector 写法:vector_cosine_ops
CREATE INDEX idx_emb ON doc
USING hnsw(emb vector_cosine_ops);

2. Euclidean Distance(欧氏距离)

  • 计算两点直线距离
  • 适合:坐标、数值特征
  • 不适合:文本 embedding
  • 写法:vector_l2_ops
CREATE INDEX idx_emb ON doc
USING hnsw(emb vector_l2_ops);

3. Inner Product(内积)

  • 速度最快
  • 必须把向量归一化才能当相似度用
  • 写法:vector_ip_ops
CREATE INDEX idx_emb ON doc
USING hnsw(emb vector_ip_ops);

总结:

  • 欧氏距离:看向量长度 + 方向,适合数值数据
  • 余弦距离:只看方向文本 embedding 绝对首选
  • 内积:向量归一化后 = 余弦,速度最快
  • 做 RAG 知识库检索 → 必须用 Cosine
  • 做推荐系统、图像检索 → 可选用内积
  • 做地理位置、数值计算 → 欧氏距离

文本检索用余弦, 数值坐标用欧氏, 归一化向量用内积。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐