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
  • 做推荐系统、图像检索 → 可选用内积
  • 做地理位置、数值计算 → 欧氏距离

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

相关推荐
米小虾11 分钟前
Harness Engineering —— 系统的安全护栏
人工智能·agent
火山引擎开发者社区26 分钟前
积分当钱花,火山引擎开发者激励计划首月消费双倍回馈
人工智能
aqi001 小时前
15天学会AI应用开发(十)把文本嵌入模型换成国产模型
人工智能·python·ai编程
MobotStone1 小时前
为什么在AI时代,“好奇心”成了最值钱的能力?
人工智能
武子康2 小时前
调查研究-200 llama.cpp b9754:一次很小但很关键的 Agent 工具调用修复
人工智能·agent·llama
Ralph_Salar2 小时前
从0到1搭建AI智能支付风控助手Stage1-RAG知识库升级 — 元数据让检索更精准
人工智能
武子康3 小时前
调查研究-199 MCP Zero-Touch OAuth:为什么它是 MCP 进入企业生产的关键门槛?
人工智能·agent·mcp
冬奇Lab3 小时前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源