首页/AI/RAG 与向量库速查/pgvector 距离算子与查询
本包目录(229 条)
架构与流程30 条解析与切分33 条Embedding 与检索50 条
向量数据库49 条
重排与生成32 条评估与优化35 条

pgvector 距离算子与查询

pgvector 用算子表达距离:<-> 欧氏距离、<=> 余弦距离、<#> 负内积;检索按 ORDER BY 距离排序取最近邻,配合 LIMIT 得到 top-k。

RAG 与向量库速查AI更新于 2026-10-12

三种算子的检索写法

三种算子的检索写法
-- 余弦距离(结果为 1 - 余弦相似度)
SELECT id, content, 1 - (embedding <=> $1) AS cos_sim
FROM kb_chunks
ORDER BY embedding <=> $1
LIMIT 10;

-- 欧氏距离
SELECT id FROM kb_chunks ORDER BY embedding <-> $1 LIMIT 10;

-- 负内积(值越小越相似)
SELECT id FROM kb_chunks ORDER BY embedding <#> $1 LIMIT 10;
<#> 是负内积:ORDER BY 取的是最小值,不要按“越大越相似”理解。

易错点

  • 把 <#> 的结果直接当相似度展示,出现了负值
  • 查询端归一化策略与入库时不一致,余弦与内积排序不一致

数据来源与参考

  • pgvector README(Distance operators / Querying)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌