完整题目
请说明在RAG系统中如何高效实现查询向量与知识库向量之间的相似度匹配,涵盖近似最近邻搜索算法、索引结构及性能权衡。
本文目录
精确检索与 ANN
查询和文档向量采用与模型训练一致的归一化与距离度量。Flat 搜索给出精确基线,但计算随向量数量线性增长;大规模场景通常使用近似最近邻索引。
- HNSW:多层导航图,查询延迟低、召回高,代价是图结构内存与构建成本;主要通过 M、efConstruction 和查询 ef 调节。
- IVF:先聚类分桶,查询时探测部分桶;nlist 与 nprobe 控制候选范围。
- PQ/IVF-PQ:对向量子空间量化以减少存储和带宽,但会引入距离误差。
- 混合架构:热冷分层、稀疏与稠密融合、过滤后检索都必须在目标数据上验证,不能用固定规模规则代替基准测试。
更新与一致性
索引记录 embedding 模型、维度、归一化、语料和权限版本。新增可进入 delta 索引,查询合并 base 与 delta;删除使用 tombstone 并按策略重建。新旧 embedding 不能直接混搜,切换要双读、回放和原子发布。
假设实验
从 Flat 基线开始,在同一向量集和 query 集上扫描 HNSW、IVF 与 PQ 参数。报告 Recall@K、MRR/NDCG、P50/P95/P99、QPS、内存、构建时间和更新成本;按热词、长尾、过滤条件与租户切片。只有真实曲线才能决定是否接受量化或分层。