数据基础设施RAG
把向量数据库讲清楚
2026年3月18日 · 5 分钟
向量数据库究竟做什么
嵌入把文本变成高维空间里的一个点,在那里意义即距离。向量数据库的工作,就是为查询 点找到最近邻——要在数百万个点上做到很快。
为什么不用暴力循环?
在 10 行数据上,for 循环里的余弦相似度没问题。到了一千万,你就需要一个 近似最近 邻(ANN) 索引,比如 HNSW——它用极小的召回损失换取巨大的速度提升。
# 概念上:
q = embed(query)
neighbors = index.search(q, k=5) # HNSW 图遍历,而非全量扫描
如何选型
- 原型 / 本地: FAISS 或 Chroma。
- 托管 + 过滤 + 规模: pgvector、Pinecone 或 Qdrant。
真正的决策点不是品牌,而是元数据过滤、混合检索(关键词 + 向量),以及当源 文档变化时你如何处理更新。