pgvector 三大相似度算法

1. Cosine Distance(余弦距离)

✅ 99% 文本 RAG 场景都用它

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

2. Euclidean Distance(欧氏距离)

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

3. Inner Product(内积)

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

总结:

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

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

相关推荐
2601_955781981 小时前
私有化本地 AI,Windows 平台 OpenClaw 功能详解与配置
人工智能·开源·github·open claw
红色星际1 小时前
Momenta赴美招揽AI人才
人工智能
贺国亚1 小时前
Spring-AI与LangChain4j
java·人工智能·spring
沫儿笙1 小时前
发那科机器人氩弧焊节气装置
人工智能·机器人
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
拾年2751 小时前
别调 BERT 了:我用 Prompt 做了套 NLP 系统,20 分钟搞定
前端·人工智能
运筹vivo@1 小时前
LeetCode 2574. 左右元素和的差值
算法·leetcode·职场和发展·每日一题
计算机安禾1 小时前
【数据库系统原理】第4篇:关系数据结构的形式化定义:域、笛卡尔积与关系模式
数据结构·数据库·算法
装不满的克莱因瓶1 小时前
学习 LLM 的函数回调及格式化输出,让 LLM 拥有更强的能力
人工智能·ai·大模型·llm·agent·智能体