核心要点

  • 向量库存文档 Embedding,做近似最近邻(ANN)检索,是 RAG 召回层核心,召回 top-K 片段喂给 LLM

  • ANN 索引各有取舍:HNSW 快但吃内存,IVF 适合大规模,DiskANN 把索引放磁盘降成本。

  • 生产常需元数据过滤(按租户/时间/权限)和混合检索BM25+向量 RRF 融合)。

  • 选型看:数据量与 QPS、延迟要求、过滤/混合检索能力、托管 vs 自建的运维成本。

简要回答

文档切块 Embedding 后存入向量库,查询时把问题向量化做 ANN 检索 top-K 片段,再拼进 prompt 生成答案。

标准回答

在 RAG 中的作用

把文档切块后用 Embedding 编码存入向量库;查询时把问题向量化做近似最近邻(ANN)检索,召回语义最相近的 top-K 片段,再拼进 prompt 让 LLM 作答。它支撑的是语义检索——「苹果发布会」也能召回含「iPhone 发布」的段落。

索引类型(核心取舍)

  • HNSW:图索引,查询快、召回高,但内存占用大。
  • IVF:倒排+聚类,适合超大规模、可控内存。
  • DiskANN:把索引落盘,单机扛更大数据、降成本,延迟略高。

选型维度

数据量与 QPS、延迟预算、是否需要元数据过滤与混合检索(BM25+向量)、多租户隔离、以及托管 vs 自建的运维成本。常见产品:Pinecone(托管)、Milvus/Qdrant(开源自建)、pgvector(PostgreSQL 扩展,数据量不大时省事)、FAISS(是库不是服务)。

实践要点

chunk 通常 256–512 token、重叠 10–20%;检索后再用 cross-encoder rerank 提升精度;关键词/编号类查询配合混合检索效果更好。

常见误区

⚠️ 常见踩坑

别以为「上了向量库 RAG 就准」——召回质量更受 chunk 切分、Embedding 模型和是否 rerank 影响,纯向量检索对精确关键词/编号/专名很弱,常需混合检索补足。也别在数据量不大时盲目上分布式向量库:几十万向量用 pgvector 或 FAISS 就够,过度工程反增运维负担。

追问

追问 1HNSW 原理简述?

分层可导航小世界图:上层稀疏长跳快速定位区域,下层稠密短边精细近邻。插入时贪心搜索找近邻并连边。查询从顶层入口贪心下降,兼顾召回与速度,是向量库常用 ANN 结构。

追问 2何时需要混合检索?

纯向量对精确关键词、编号、专有名词弱;纯 BM25 对语义改写弱。生产 RAG 常 BM25+向量融合(RRF),再加 cross-encoder rerank,提升召回与精度。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • qdrant

    高性能向量数据库,6.3K+ stars。高性能、大规模向量数据库和向量搜索引擎,支持相似度检索和语义搜索

  • Milvus

    云原生向量数据库,43,875+ stars。专为 AI 应用设计的分布式向量搜索引擎,支持千亿级向量检索,广泛应用于 RAG、推荐系统和相似性搜索场景