一、向量数据库基础向量表示将自然语言、图像等非结构化数据通过嵌入模型转化为高维向量。向量的距离和方向能体现语义上的相似性。向量数据库专门存储高维向量及其元数据的数据库。核心能力是高效执行近似最近邻搜索实现语义检索。与传统数据库的区别传统数据库依赖精确匹配或关键词索引难以捕捉语义向量数据库通过向量相似度实现“语义向量距离近”的检索。混合检索实际项目中常将向量语义检索与标量过滤、全文检索等结合先通过元数据过滤候选集再进行向量相似度排序或融合多种得分做最终排序。这样既能做语义理解又能保证精确条件的匹配。二、向量的核心概念概念说明向量维度向量的特征数量如 384、768、1024。维度越高表达能力越强但计算与存储开销也越大。向量长度模向量到原点的欧氏距离。如向量(3,4)的长度为 √(3²4²)5。长度有时蕴含文本长度、词频等信息。向量方向向量的指向是判断语义相似度的主要依据。常用度量有余弦相似度、内积、欧氏距离。三、相似度度量与对比余弦相似度关心什么只关心两个向量之间的夹角完全忽略长度。公式cos(θ) (A·B) / (||A|| ||B||)值域 [-1, 1]。直观理解两束从原点发出的射线夹角越小越相似。哪怕一束长一束短只要指向一致就是 1。示例A [1,0], B [2,0] 方向完全相同余弦相似度为 1A [1,0], B [0,1] 垂直为 0。内积关心什么方向 长度。公式为A·B ||A|| ||B|| cos(θ)。直观理解若两个向量同向且都很长内积会非常大若方向相似但都很短内积较小。所以它偏爱“方向一致且信息强度高”的项。适用场景推荐系统中热门物品的向量可能模长较大内积会自然给它们更高打分可以作为一种“热度加权”。欧氏距离关心什么向量在空间中端点之间的直线距离公式为√(Σ(Ai - Bi)²)。直观理解两点越靠近越相似。它同时受方向和长度的影响而且对绝对位置的差异敏感。度量方式关心内容数值含义归一化后的等价形式适用场景余弦相似度只关心方向忽略长度越接近 1 越相似取值 [-1,1]等于内积文本语义相似长度差异无意义时内积方向长度数值越大越相似无上界等于余弦相似度需同时考虑方向和强度时如推荐系统中的打分欧氏距离方向长度绝对位置数值越小越相似≥0单调相关于余弦相似度距离2-2cosθ向量空间绝对位置敏感的场景归一化影响将向量长度映射为 1消除长度差异。此时欧氏距离、余弦相似度、内积可互相推导选择哪个度量本质上等价。务必在存储和检索时使用相同的归一化方式。四、近似最近邻搜索4.1 为什么需要 ANN在全量向量上逐个计算相似度的暴力检索FLAT虽然精确但延迟高、资源消耗大。ANN 利用索引结构先快速缩小候选范围再在小范围内精细比较在可控质量损失下大幅提升速度。4.2 常见 ANN 算法对比表FLAT即无索引直接扫描。它提供 100% 精确的结果是衡量其他 ANN 算法召回率的黄金标准但只适用于万级以下的小数据量。IVF倒排文件如何工作使用 K-Means 将全体向量聚成nlist个簇桶每个簇有一个中心点。查询向量到达时先计算它与哪个桶中心最近只去最近的nprobe个桶里暴力搜索。参数含义增大nlist桶更细碎检索时需探测更多桶才能维持召回率增大nprobe探测桶数增多召回率上升但延迟也增加。它是最基础且广泛使用的加速结构。HNSW分层可导航小世界图如何工作类似“高速公路普通公路”的导航。构建多层图最上层只有少数节点边很长供快速跳转最下层包含所有节点边稠密负责精细定位。搜索时从上层随机点出发贪婪地向最近邻居移动逐层下钻直到最底层。关键参数M每个节点最大连接数影响图密度和内存efConstruction控制构建时搜索宽度越大图质量越好efSearch控制查询时搜索宽度越大召回率越高。它无需训练支持实时插入但内存占用较高。PQ乘积量化如何压缩将高维向量切成m段短向量每段用独立的聚类算法生成k个代表向量码本。存储时用每段最近的码本编号整数代替原始浮点数。例如768 维切 96 段每段用 256 个中心量化存储从 768×32bit 变为 96×8bit压缩 32 倍。近似距离计算查询时预计算查询向量每段与对应码本所有中心点的距离查表组合近似得出全向量的距离速度快且无需解压。精度损失源于量化误差可通过增加段数或码本大小缓解。SQ标量量化如何压缩独立将每个维度的浮点值均匀映射到低位整数例如 float32 转换为 int8直接用数值范围缩放。优点简单计算仍为整数运算精度损失温和均匀。常作为快速降低内存的基础手段或与 IVF/HNSW 结合。算法原理精确度速度内存占用关键参数备注FLAT暴力计算所有向量100% 精确慢低仅存原始向量无基线算法小数据或要求绝对精确时用IVF聚类分桶查询时只搜索最近的 nprobe 个桶近似可调中–快中需存储聚类中心nlist桶数nprobe探测桶数需训练适合中等规模常与其他技术组合HNSW多层图结构上层稀疏快速跳转下层稠密精细搜索高近似极快较高图连接开销M每层连接数efConstruction构建搜索宽度efSearch查询搜索宽度无需训练增量插入友好内存占用较大PQ (乘积量化)将向量分段每段独立聚类量化用短编码表示有损压缩精度可调快查表算距离极低压缩比高子空间数m每段码本大小k常与 IVF 结合为 IVF_PQ大幅减少内存SQ (标量量化)将每个浮点维度转换为低位整数轻微精度损失快整数计算低如 float32→int8量化位数简单有效常作快速压缩手段补充说明IVF需要预先训练生成桶中心检索时增大nprobe可提高召回率但增加延迟。HNSW构建时efConstruction越大图质量越高但慢查询时efSearch越大召回率越高。PQ/SQ属于向量压缩技术往往与 IVF 或 HNSW 结合使用减少存储空间并加速距离估计。PQ 与 SQ 对比量化方式压缩原理压缩率距离计算精度影响典型应用PQ分子空间聚类编码极高可几十倍预计算距离表查表有结构性误差大规模向量库内存受限SQ逐维度标量量化中等2-4倍直接整数运算均匀轻微降低需要保留较高精度的压缩场景五、混合检索的实际形态常见混合检索模式过滤向量搜索先根据标签、时间等标量条件过滤候选再在过滤集合上执行 ANN保证结果满足硬性约束。多路召回融合排序同时进行向量语义召回和全文检索召回将两路结果通过融合公式如加权求和、互惠排名融合 RRF合并排序。向量与稀疏向量组合使用稠密向量做语义稀疏向量做关键词匹配结合 BM25 等分数实现语义和字面兼顾的检索。这解决了纯语义检索可能遗漏精确词汇匹配的缺陷是生产环境的标配。六、检测指标速览指标含义关注点召回率 (Recallk)前 k 个结果中相关项占所有相关项的比例是否找得全准确率 (Precisionk)前 k 个结果中相关项的比例找得是否准延迟 (Latency)查询响应时间平均/分位数用户体验与吞吐成本 (Cost)内存/磁盘占用、计算资源消耗系统可扩展性MRR (平均倒数排名)第一个相关结果排名的倒数对所有查询取平均关注首个正确答案的位置nDCG (归一化折损累计增益)考虑排序位置和相关度等级对排序质量评价多级相关性下的排序质量在实际项目中常常需要根据业务需求在召回率与延迟、成本间取得平衡例如调整nprobe、efSearch等参数。