AI Agent的RAG、Memory底层的语义检索原理是啥 以图搜图,人脸识别,拍照搜同款的原理 | 向量数据库-索引篇 #RAG#向量数据库 #程序员#claudecode #AI新星计划

已完成

任务ID: 1229

30秒速读

核心摘要

预计 90 秒读完

本期视频详解向量检索核心原理,科普向量数据库及相关AI应用底层逻辑。

明确向量是高维空间表征事物特征的浮点数数组,向量距离对应内容相似度,是图搜图、人脸识别、拍照搜同款的底层逻辑
拆解三类主流向量索引算法:HNSW分层图检索速度快但内存占用高,IVF通过聚类分桶大幅降低计算量,乘积量化进一步压缩向量体积、提升运算效率
说明向量数据库依托近似最近邻搜索实现毫秒级海量向量匹配,是RAG、AI Agent Memory语义检索的核心底层支撑

可执行建议

  • 相关从业者可对照视频内容梳理向量检索技术栈,加深对RAG等AI应用的底层认知
  • 需要完整知识点汇总的用户,可前往视频评论区获取配套的文字版笔记

高价值评论洞察

  • 部分用户反馈看完视频终于厘清此前困惑许久的向量检索原理,同时有资深从业者补充细节,指出以图搜图技术已落地十余年、向量相似度匹配不止涉及向量距离等内容
  • 用户认知分层明显,资深技术人员主动深挖算法逻辑细节,不少入门用户反馈内容偏难,仅能听懂少部分内容

用户关注点

  • 聚焦向量数据库选型、ES与向量检索的关联、维度灾难、分词对向量精度的影响等实操落地类问题
  • 诉求获取配套文字版笔记,希望博主提升更新频率,降低内容理解门槛

可复用选题/回应建议

  • 推出入门向向量检索轻科普内容,适配零基础受众,同步放出观众索要的配套文字笔记
  • 针对性产出向量数据库选型、ES向量检索落地、高维向量优化等专题内容,回应用户提问

代表性评论

  1. 有用户表示“研究ai向量很久了,在你这突然明白怎么回事”,验证了本次科普的讲解效果,体现内容对有相关学习基础用户的强共鸣
  2. 入门用户反馈“讲的太复杂了,听到向量猫和狐狸就听不懂了”,直接反馈了入门受众的内容接受门槛问题,为后续内容难度调整提供参考

基本信息

2026/5/22 18:55:49

标签与备注

标签

向量检索原理向量数据库科普RAG技术解析AI Agent底层逻辑以图搜图原理向量索引算法

备注

暂无备注

转录文本

以图搜图的原理是什么?为什么电商软件里拍个照就能搜到同款商品? 人脸识别又是什么黑科技? 它们背后其实都指向一个AI圈里高频出现的技术,向量检索。 更准确地说,是海量数据的向量检索。 那么问题就来了,向量到底是什么? 海量数据的向量检索又是怎么做到的? 今天就把这些概念串起来讲透。 看完你不仅能搞懂上面几个问题,还能解锁最近爆火的RAG和MEMORY这些Agent技术背后的语义检索原理。 还是那句话,全网资料参差不齐,如有差异,以我为准。 所以看之前,你点赞了吗?关注了吗? 继续! 向量是什么? 这是一只猫,这也是一只猫,这还是一只猫,这…… 呃……这不是猫,虽然它们风格不一致,但你总是能一眼就认出来。 这是因为你的大脑在同时捕捉多个特征,比如尖尖的耳朵,圆圆的脸,细长的胡须。 这些特征叠在一起,构成了你对这张图的整体感觉。 注意,这里的关键词是特征。 计算机也可以参考这种方式,用一堆特征来描述一件事物,怎么做? 想象一个二维坐标系,X轴表示耳朵是否尖,Y轴表示是否有长尾巴,猫的图片会落在两个轴都偏高的区域,但狐狸也是尖耳朵、长尾巴,两者在二维里几乎重叠,加入第三维,脸是否圆,猫脸圆圆的,狐狸脸又长又尖,两者就分开了。 随着维度增多,比如扩展到128维,每一维对应一种视觉特征,所有事物都能在这个多维坐标系里找到属于自己的位置。同一只猫的不同照片,虽然角度、光线不同,但位置会很接近。每张照片在坐标系里的坐标就是一组浮点数,这组数字就是向量。向量说白了就是一个浮点数数组,数学上可以理解为高维空间里的一个点。向量之间的距离代表原始内容的相似程度,距离越近两张图就越像,通过一张照片的向量,从多张图片里找到跟它向量距离相近的图片,也就实现了以图搜图。电商拍照搜同款就是这个原理。手机拍张照转成向量,从商品库里找距离最近的商品图片向量,就是同款。人脸识别也一样,把人脸照片转成向量,跟人脸库里存好的人脸向量比距离。距离最近的那张脸就是匹配结果。除了图片、文本、视频、音频,几乎可以说万物皆可向量化。所以就能实现文搜图、图搜视频等一系列骚操作。不管是以图搜图还是人脸识别,做的事情其实都一样。给一个向量,从一堆向量里找出跟它距离最近的那几个。这种从大量向量中查找最近邻近向量的问题就是所谓的最近邻问题,nearest neighbor。 而这个找的过程就是所谓的最近邻搜索,nearest neighbor search。 HNSW是什么? 那怎么实现最近邻搜索呢? 很容易想到,可以让输入向量和所有向量挨个算一遍距离,取最近的。 但商品库、人脸库里存的向量可能有几千万,甚至上亿,全部遍历一遍,效率太低。 数字和字符串这些标量可以通过B+树这类索引快速查找,不用遍历。 但向量本质上是浮点数数组,B+树搞不定,那用什么索引呢? 有个著名理论叫六度人脉理论,说的是世界上任意两个人之间,最多通过六个中间人就能建立联系。 每个向量本质上就是多维空间里的一个点,就像人一样,我们可以参考人脉网络的思路。 把距离近的点用边连起来,形成一张邻居关系图,查询时从某个点出发,不断靠近向量距离更近的邻居。 按理说几步就能找到最匹配的目标,这样就不用遍历所有节点。 但六度人脉你得先找到一个靠谱的切入点,那么大的图从哪开始搜呢? 我们可以参考人类社会的层级结构分层,从底层全量节点图里挑一部分节点构建一张更稀疏的上层图,再挑更少的节点构建更上一层,最终形成一个金字塔式的多层图。 新向量进来时,先从最高层的唯一节点开始,逐层向下,在每一层内部快速锁定大致区域。 然后在越来越密的节点里找到最近的邻居向量建立连接。 查询相似向量时也遵循相同的流程,只是最后会在最底层返回最相似的结果。 这种多层图索引就是大名鼎鼎的分层可导航小世界图。 Hierarchical Navigable Small World,简称HNSW。 看爽了吗?那来个一键三连不过分吧。 IVF是什么? 因为HNSW只需要几步就能快速得到相似向量结果,所以非常快,但代价也明显,整张向量图都要常驻内存,数据量一大,内存就成了瓶颈,有没有更省内存的办法? 还是用找人举例子,要在一个城市里找一个穿白大褂的人,不用挨家挨户敲门,直接去医院就行。 你下意识做的就是按身份分类,医生归医院,厨师归餐厅,找人的时候先锁定类别,再到里面细找。 按这个思路,先对这些向量进行分类,把相似的向量归到同一个桶文件里,每个桶都有一个聚类中心,用它代表桶里的其他向量。 这样查询的时候,先算查询向量和所有聚类中心的距离,找到最近的几个桶,再到那几个桶里细找。 如果有1000万条向量,分成1000个桶。每次只搜最近的10个桶,候选量从1000万降到10万,计算量砍掉99%。 这种基于聚类中心先粗筛,再到桶文件里细找的索引, 就是倒排文件索引。 Inverted File Index,简称IVF。 看到这里还没睡着的大木坑格林,让我看看还有多少人。 乘积量化是什么? IVF只存聚类中心和桶内向量,不需要像HNSW那样维护各种邻居关系,所以内存占用小点。 但一个128维浮点向量,每个向量维度都是浮点数。 四字节128维就是512字节,1000万向量就要将近5G内存,而且查询时还得跟桶里每一条逐个算距离,也很费时间,能不能再省? 能。 既然IVF是用聚类中心来代表一整桶向量,那我们把这个思路继续往下推。 一句话解释,就是把向量分成多个子段,然后拿有限数量的聚类中心编号来近似替代各个子段。 128维太抽象,为了好理解,我们用四维向量来举例,例子用整数来替代浮点数,假设现在数据库里有三条向量,把所有四维的向量都切成两段,每段子向量二维,多个子段内进行聚类。 比如第一段,也就是前两维的聚类中心,是这四个。 第二段,也就是后两维的聚类中心,又是另外四个。 每个中心都有一个编号,每段子向量都找到离它最近的聚类中心,用聚类中心编号来替代原始值。 拿A来说,它的前两维是9、1,离编号为2的聚类中心(10,0)最近,所以将它替换为编号2。 它的后两维4、4离编号为3的聚类中心最近,距离为55,所以替换为编号3,B和C同理。 也就是说,数据库里的向量,分段替换成了离它最近的聚类中心编号。 注意,替换的是编号,只要聚类的数量不超过256,那用一个字节表示就绰绰有余。 原来一条四维的向量,每个浮点数Float32都占四个字节,四维就是16字节,现在只要两个编号,也就是两字节就能表示完,这就压缩了八倍,内存就省了。 现在,进来一条查询向量Q,也拆两段,先拿每段分别和四个聚类中心算平方距离,存成上面这样的查找表。 接下来就可以计算它和A、B、C三个向量的距离。 要算Q和A的近似距离,通过A的编码2、3可以查表计算得到距离为12。 同理,Q和B的距离是137,Q和C的距离是97。 这样就能知道A距离最近,每条数据只需要两次查表和一次加法,三个向量就是6次查表加3次加法,共9次操作。 对比压缩前,每条算4次减法,4次乘法,3次加法,共11次,3条就是33次浮点运算,省了不少。 这个通过向量分段、量化编码,实现内存节省和计算加速的方法,就是所谓的乘积量化。 IVF缩小搜索范围,乘积量化压缩每条向量的内存和计算量,两者组合就是IVF PQ。 近似最近邻。 回头看一下,想必大家也发现了。 H&SW可能因为图结构走了条弯路,错过了最近的向量。 IVF目标向量可能刚好落在桶边界,被分到隔壁桶导致漏掉。 乘积量化用编号代替原始值必然丢精度。 向量搜索不像Mycico的B+树那样,能精确定位到某一行。 这种允许少量误差,找到足够接近结果的搜索方法,叫近似最近邻搜索。 Approximity Nearest Neighbor,简称ANN。 看到这里还在坚持的弹幕扣1。 H&SW全量向量放内存,主打速度优先。 IVF加乘积量化,通过精度换空间,减少了内存使用。 把这些ANN索引算法包装到一个数据库里,支持向量的存储、索引和检索,就得到了向量数据库。 图片、文本、音频,只要能转成向量的数据都能往里存。 通过ANN索引,从千万甚至上亿条向量里,毫秒级找到最相似的结果。 前面说的图片向量距离,但别忘开头说的,万物皆可向量化,文本也一样。 你问AI一句:三体里的黑暗森林法则到底是什么意思? 这句话经过编码模型变成向量,从知识库里检索出最相关的文本片段,交给大模型生成回答。 这种先检索外部数据,再喂给大模型生成回答的方案,就是检索增强生成RAG。 Memory也是类似的思路。 把历史对话存成向量,下次聊天时检索最相关的记忆片段塞给模型,它就能记住你之前说过什么。所以RAG和memory背后的语义检索,本质都是向量检索。现在大家通了吗?好啦,如果你觉得这期视频对你有帮助,记得转发给你那不成器的兄弟,文字版的笔记见评论区。这里是小拜的Bug,我们聚焦一切可能影响人类历史进程的技术。如果你感兴趣,记得关注我们,下期见!

任务状态

当前状态 已完成
重试次数0
创建时间2026/6/16 21:52:35
更新时间2026/6/16 22:03:28
完成时间2026/6/16 22:03:28

技术信息

任务IDtask_1781617955437354811_dZHLP5Xb
字幕文件已生成

想分析自己的视频?

注册即送 100 积分,可用于视频总结、字幕提取和内容洞察。

免费注册
返回任务列表
AI Agent的RAG、Memory底层的语义检索原理是啥 以图搜图,人脸识别,拍 - AI视频分析案例