什么是向量数据库:AI 长期记忆的底层设施
「第二教育网」是一个专注于优质教育资源导航与学习方法分享的第三方平台。本文将从方法、工具与实操几个角度,帮你把这件事一次看明白。
如果把大模型的上下文窗口比作短期记忆,那么向量数据库就承担着长期记忆的角色。它让 AI 能够在海量资料中快速找到语义相关的内容,是知识库问答、错题检索、相似题推荐背后的共同基础设施。
它存的不是文字,是向量
向量数据库里存放的核心内容是一串串数字,也就是向量。这些向量由一个嵌入模型生成:把一段文字送进去,输出一个固定长度的数组,语义相近的文字在这个空间里距离也近。
举个例子,"如何解一元二次方程"和"一元二次方程求解方法"用词不同,但向量距离很近;而"今天天气不错"的向量就离得很远。这正是它比关键词匹配聪明的地方——你不需要命中同样的词,只要意思相近就能找到。
为什么不能用普通数据库
传统数据库的索引是为精确匹配和范围查询设计的,擅长回答"字段等于什么""数值在哪个区间"。而向量检索要回答的是"哪几条记录和这条最相似",这是高维空间里的近邻搜索,维数常常达到几百到上千。
要在百万级向量里快速找到最近邻,需要专门的索引结构,比如基于图的 HNSW 或基于倒排与聚类的 IVF。这些结构牺牲一点精确度换取极高的查询速度,在海量数据下的性能优势是普通数据库难以企及的。
一条完整的检索链路
- 文档切分后逐块生成向量,写入数据库,同时保存原文与元数据。
- 用户提问时,问题同样转成向量。
- 数据库返回距离最近的若干条记录及相似度分数。
- 系统把对应原文取出,拼进提示词交给大模型作答。
元数据是常被忽视的关键
除了向量,每条记录还应带上结构化信息,比如学科、年级、知识点、难度、来源页码。有了这些,就能做混合检索:先在元数据上过滤,再在向量空间里找近邻。例如限定"高中物理、力学、难度中等"再检索,准确率会明显高于纯语义匹配。
选型与部署的考量
数据量在几万条以内时,轻量方案就足够,甚至可以用内存型库直接加载。数据量上到百万级再考虑分布式产品。教育场景通常数据量不大,但对数据不出校门有要求,因此可本地部署的轻量方案往往更受欢迎。
还有一点要注意:嵌入模型一旦更换,所有已生成的向量都要重算。所以选定嵌入模型后尽量保持稳定,并在存储时记录模型版本,避免后续混乱。
常见问题(FAQ)
向量数据库会存原始文本吗
会。通常向量与原文、元数据一起存储,检索时先找到向量再取回对应原文,供大模型引用。原文与向量通过唯一标识关联。
相似度的距离是怎么算的
常用余弦相似度或欧氏距离。余弦相似度关注方向差异,对文本长度不敏感,因此在语义检索中最常用。具体指标由嵌入模型的训练目标决定。
学校自建知识库需要买向量数据库吗
多数情况下不需要。几万条以内的资料用轻量级开源方案即可满足,单机部署成本低。只有在数据量达到百万级以上时才需要考虑分布式方案。
更换嵌入模型要重新入库吗
需要。不同嵌入模型生成的向量空间不一致,混用会导致检索失效。建议在建库之初就确定模型并记录版本,减少后续返工。