乐于分享
好东西不私藏

AI 的"记忆"存在哪里?—— 向量数据库是干什么的

AI 的"记忆"存在哪里?—— 向量数据库是干什么的

AI 的"记忆"存在哪里?—— 向量数据库是干什么的

前面我们聊了 RAG 的工作流程,里面提到一个"智能图书馆"——系统会把文档存进去,然后按"意思"搜索相关内容。这个"智能图书馆"到底是什么?它为什么能按"意思"而不是按"字面"来搜索?

今天就来聊聊这个——向量数据库。


从手机相册说起

先问你一个问题:你手机里的相册,能不能按"人脸"搜照片?

比如你搜"妈妈",手机上就会自动出现所有妈妈的照片。你搜"猫",就会出现所有猫的照片。你甚至不需要给每张照片打标签,手机自己就能识别。

这个功能背后,就是向量数据库在干活。

那它到底是怎么做到的?我们先从传统数据库说起。


传统数据库存什么?

传统的数据库,比如 MySQL,存的是"精确的信息"。

举例:一个学生信息表里存的是"张三,男,20 岁,计算机系"。你要查"计算机系的学生",数据库就返回所有"计算机系"的记录。这是一种精确匹配——你问什么,它找什么,一个字都不能差。

但如果你问的是"谁比较擅长编程",传统数据库就抓瞎了。因为"擅长编程"不是一条精确的记录,它没有"擅长编程"这个字段。


向量数据库存什么?

向量数据库存的是"相似度"。

什么是相似度?打个比方。你有一堆照片,向量数据库做的事情是:把每张照片都转换成一串数字(这串数字叫"向量"),然后比较这些数字之间的距离。

猫的照片和猫的照片,它们的数字串很接近,距离很近。猫的照片和狗的照片,数字串差距较大,距离较远。猫的照片和汽车的照片,数字串差距更大,距离非常远。

所以当你搜"猫"的时候,向量数据库就会把所有"距离猫最近"的照片找出来——不管这些照片有没有被打上"猫"的标签。


用"气味博物馆"来理解

如果上面的解释还是有点抽象,我们再换一个更形象的类比。

想象一下,世界上有两种图书馆:

**第一种,传统图书馆。** 书是按编号排列的。你要找一本书,必须知道它的编号,或者书名、作者。这些信息必须精确匹配。

**第二种,气味博物馆。** 每一本书都被提炼成了一种"气味"。你要找书的时候,不是报编号,而是拿出一瓶"气味样本",管理员会帮你找到"闻起来最像"的那些书。

向量数据库就是"气味博物馆"。它不在乎你的书名是什么、作者是谁,它只在乎你的内容"闻起来像什么"。

而"闻起来像什么"这件事,用数学语言来说,就是"向量相似度"。


为什么 AI 需要向量数据库?

因为 AI 理解的是"意思",不是"字面"。

比如你问 AI:"怎么做好吃的红烧肉?" 知识库里有一篇文章叫《家常红烧肉的做法》。这两个表述在字面上完全不一样,但意思是相同的。

传统数据库搜"好吃的红烧肉",找不到《家常红烧肉的做法》,因为字面上不匹配。但向量数据库能理解"好吃的红烧肉"和"家常红烧肉的做法"说的是同一个意思,所以能检索到。

这就是向量数据库对 AI 如此重要的原因——AI 的世界里,语义比字面更重要。


生活中的向量数据库

其实向量数据库已经渗透到我们的日常生活了,只是你可能没注意到:

**以图搜图**:你在淘宝上传一张衣服的照片,它能帮你找到同款。这就是向量数据库在比较图片的"视觉相似度"。

**音乐推荐**:网易云音乐的"每日推荐"为什么那么准?因为它把你喜欢的歌都变成了向量,然后去找"听起来最像"的其他歌。

**人脸识别**:你手机用 Face ID 解锁,它拿到的不是你的照片,而是你的面部特征向量。只要这个向量跟存储的向量足够接近,就能解锁。

**语义搜索**:你在 Notion 或飞书文档里搜索"上次开会说的那个方案",它能找到相关文档,即使你根本不记得"那个方案"具体叫什么名字。这就是向量语义搜索。


小结

传统数据库存的是"精确答案",向量数据库存的是"相似程度"。

AI 需要向量数据库,因为 AI 理解的是"意思",不是"字面"。向量数据库正好能帮 AI 找到"听起来最像"的内容。

下一篇文章,我们继续深入这个话题:AI 是怎么把一段文字变成向量的?—— Embedding 向量化入门。


*下一篇预告:AI 是怎么"读懂"一段话的?—— Embedding 向量化入门*