RAG记忆层

相似度

  • 要存入向量库的语句,首先会对语句分割,再使用 Embedding 将语句转换成不同维度的浮点数数组,存入向量库,当有用户提问的时候,把用户提问的语句转换成向量,和向量库里面的向量进行比较,从而计算出相似度。
  • 向量检索不会遍历库中所有向量做全量相似度计算,暴力检索 KNN会进行全量遍历,逐条算相似度,只适合小数据几十、几百条。但是工业级向量数据库(Milvus、Qdrant、Chroma、ES 向量检索)用的是 ANN近似最近邻检索
  • ANN 原理,把高维向量空间,提前分区、建索引:向量数据库入库时,会自动聚类、划分索引桶,把语义相近的向量,放到同一个 “格子 / 聚类中心” 里。你来一个新查询向量系统只先找最近的几个聚类中心,只在这几个聚类里面的几百条向量做精细比对,跳过库里 99% 的向量,根本不去碰。相当于:图书馆几百万本书,不用一本本翻,先找到对应书架,只在这个书架里找书。向量库底层常用索引算法:HNSW(最主流)
posted @ 2026-05-06 15:38  Huangyien  阅读(15)  评论(0)    收藏  举报