SuperAPI AI 工具集

pgvector-search

通用与其它

查看项目

更新于 10-16 04:30

技能介绍

用途:在 PostgreSQL 中实现语义(向量)+ 关键词(BM25)混合检索,用 RRF 融合两路结果并重排,适合 RAG、知识库、推荐、大规模文档集合(100 万+ 分块)。

主要能力:向量搜索用 PGVector HNSW 索引(vector_cosine_ops,m=16,ef_construction=64),关键词搜索用 tsvector + GIN 索引与 ts_rank_cd;RRF 公式为 rrf_score = 1/(k + vector_rank) + 1/(k + keyword_rank),k=60;提供 chunks 表结构(embedding vector(1024)、生成列 content_tsvector)、SQLAlchemy 混合查询实现、过滤搜索、相似度阈值、多查询检索等模式。

使用方式:建表并创建 HNSW 与 GIN 索引;查询时分别取向量与关键词各 Top 30(top_k 的 3 倍),用 FULL OUTER JOIN 合并计算 RRF 分数,取最终 Top 10。性能建议:预计算 tsvector(比查询时 to_tsvector 快 5-10 倍)、使用 HNSW(比 IVFFlat 快约 17 倍)、过滤查询可用 hnsw.iterative_scan = 'relaxed_order'、元数据加权可提升约 6% MRR。

限制与替代:资料给出 pgvector 与 Redis 8 FT.HYBRID 的对比,后者延迟更低(2-5ms)但受内存限制、关系查询有限;pgvector 适合已有 PostgreSQL、需 ACID 与复杂关联、超大数据集的场景。具体版本、价格与部署细节暂未提供。