一句话定义
Vector Database 是存储向量、建立索引并做相似度检索的系统:把文档块和查询转成向量,召回最相近的 Top-N 片段,通常还支持元数据过滤和更新。
为什么需要它
暴力遍历所有向量太慢。向量数据库用 ANN 索引(如 HNSW、IVF)在近似最近邻里快速找候选;再配合元数据过滤、权限和更新,才能支撑真实 RAG。
关键概念
Vector Store
偏“存储”:保存向量和元数据,提供读写接口。Vector Database 通常还包括索引、查询、过滤和运维能力。
Index / 向量索引
加速相似度搜索的数据结构;HNSW 图索引、IVF 倒排、PQ 压缩等,在召回率、内存和延迟之间取舍。
Similarity Search
用查询向量找最相近的向量;常见度量是 cosine、dot product、L2 距离。
Cosine Similarity
看两个向量的方向夹角,忽略长度;文本嵌入常用。前提是向量已归一化或实现会处理范数。
Top-N Retrieval
返回相似度最高的 N 个候选;N 是召回规模,不是最终答案,通常还要重排和压缩。
关键取舍
- 索引越精确越慢、越占内存;ANN 用少量召回损失换速度。
- Top-N 越大召回越高,但延迟和后续重排成本上升。
- 元数据过滤能减小区间,但过滤太严可能把正确结果挡掉。
- 嵌入模型、距离度量和索引参数要一起调。
常见误区
- Vector Store 等于 Vector Database:前者偏存储,后者还包含索引和查询。
- cosine 一定比 dot 好:取决于嵌入模型训练方式。
- Top-N 就是最终上下文:还要重排、去重和压缩。
- 建好索引就不用管:文档更新、模型更换都要重建或迁移。
用在哪里
- RAG 的知识库检索。
- 语义搜索、去重、聚类、推荐。
- 多租户/权限过滤的私有知识库。