首页/AI/RAG 与向量库速查/内积(Dot Product)与检索
Embedding 与检索50 条

内积(Dot Product)与检索

内积等于余弦乘以两向量模长:方向相似且模长更大者得分更高;向量归一化后内积与余弦等价,FAISS 的 IndexFlatIP 即按内积检索。

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

内积与模长

内积与模长
import numpy as np

a = np.array([0.3, 0.4, 0.5], dtype="float32")
b = np.array([0.1, 0.9, 0.2], dtype="float32")
print(float(a @ b))                                   # 内积
print(float(np.linalg.norm(a) * np.linalg.norm(b)))   # 模长乘积
使用内积时,入库与查询必须做相同的归一化处理,否则模长差异会主导排序。

易错点

  • 查询向量未归一化且文档侧归一化时,排序会被模长带偏
  • 部分库返回负内积作为距离(如 pgvector 的 <#>),比较方向与文档要看清

数据来源与参考

  • FAISS wiki(MetricType 与 IndexFlatIP)
  • Qdrant 官方文档(Dot 距离)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌