首页/AI/RAG 与向量库速查/度量选择与索引一致性
Embedding 与检索50 条

度量选择与索引一致性

度量(COSINE / IP / L2)要与模型用法和索引配置匹配;索引按度量构建,切换度量通常需要重建索引,评测脚本与线上库也必须一致。

RAG 与向量库速查AI更新于 2026-10-13

度量为什么要统一

度量(余弦、内积、欧氏)要与模型的用法和索引配置匹配:索引按某种度量构建,查询就要用同一种方式打分,评测脚本也必须一致。不一致时流程照样跑通、也不报错,只是排序悄悄变差,属于最难排查的一类问题。切换度量通常需要重建索引,因为索引结构本身就是按该度量组织的。

基本信息

常见默认文本向量用余弦,或归一化后的内积
库差异部分库同时支持余弦、内积与欧氏;关系型扩展用算子显式选择
一致性范围入库、查询、索引、评测四处必须一致
切换代价通常需要重建索引

一致性检查清单

一致性检查清单
索引构建时的度量:______
查询端计算方式:______
评测脚本的相似度函数:______
(三者不一致时,评测结论与线上行为不符)

使用要点

  • 先看模型文档对度量的建议,多数文本检索模型推荐余弦或归一化内积
  • 归一化后余弦与内积等价,可先用内积简化实现,但要保证两侧都归一化
  • 欧氏距离对长度敏感,用未归一化的向量时会受文本长度影响
  • 把度量写进索引配置与文档,交接时不依赖口头约定
  • 更换向量模型时同步复核度量,两者是绑定关系

度量对照

度量计算与含义常见注意点
余弦方向夹角,长度无关文本向量默认选择
内积方向与长度共同决定归一化后等价于余弦
欧氏绝对距离适合未归一化的稠密特征
混合度量不同字段用不同度量增加排查复杂度,慎用

常见问题

  • 迁移向量库时把度量默认值改了,检索质量下降但无告警
  • 评测脚本用余弦、线上配内积且未归一化,评测结论无法迁移
  • 更换度量后未重建索引,返回结果异常但报错为零
  • 同一集合里不同字段用不同度量,排查时容易看错配置
迁移向量库时度量不一致是最常见的静默错误:流程能跑通,但检索质量悄悄变差,务必把度量纳入上线检查清单。

易错点

  • 评测用余弦、线上库用内积,评测结论不可迁移
  • 更换度量后未重建索引,结果异常但报错为零
  • 向量未归一化却按内积检索,长文本被系统性拉高排名
  • 把度量配置留在个人脚本里,团队交接后无人知道线上用的是什么

数据来源与参考

  • Milvus 官方文档(度量类型)
  • Qdrant 官方文档(Distance)
  • pgvector README(距离算子)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌