SuperAPI AI 工具集

postgres-impl-pgvector-similarity

数据与分析

查看项目

更新于 10-15 22:18

技能介绍

用途:在 PostgreSQL 中用 pgvector 做向量相似度检索,覆盖语义搜索、RAG 检索、推荐与去重场景。安装方式为执行 CREATE EXTENSION vector。

主要能力与要点: 存储类型有 vector(float32,存储上限 16000 维、可索引上限 2000)、halfvec(float16,索引上限 4000)、sparsevec、bit;距离算子包括 <-> L2、<=> 余弦、<#> 负内积、<+> L1、以及 bit 专用的 <~> Hamming、<%> Jaccard。索引方法有 HNSW 与 ivfflat,两者都是近似近邻,HNSW 为默认选择,无需训练;ivfflat 构建更快更省内存但召回较低,且必须在有代表性数据后再建。列应声明固定维度 vector(n),避免混维度写入报错。

用法要点:查询须写成 ORDER BY embedding <=> $1 LIMIT k,才能使用 ANN 索引;仅用 WHERE 距离阈值无法走索引。索引 opclass 必须与查询算子对应,例如 vector_cosine_ops 只加速 <=>,用 <-> 会退化为 Seq Scan。召回与速度可在会话级调整 hnsw.ef_search 与 ivfflat.probes。带过滤条件的查询可用部分索引或 v0.8 起的分批检索;混合检索建议用 RRF 按排名融合,而非直接相加距离与 ts_rank。超过 2000 维的嵌入可用 halfvec 表达式索引,查询需写相同 cast。

限制:未提供具体版本兼容、性能保证或收费信息。