向量与向量数据库
入门·10 分钟·面向零基础读者系统讲解「向量与向量数据库」:从概念定义、工作流程、通俗案例、常见误区到实践练习,帮助你真正理解 AI 基础知识。
向量与向量数据库
向量是现代 AI 应用中非常重要的表示方式。文本、图片、音频都可以被模型转换成一串数字,这串数字就可以看作向量。向量数据库则负责存储这些向量,并快速查找相似内容。
为什么需要向量
传统搜索主要依赖关键词。用户搜“如何报销差旅费”,文档里如果写的是“出差费用申请流程”,关键词不完全一致,传统搜索可能找不到。
向量搜索关注语义相似度。只要模型认为“报销差旅费”和“出差费用申请”意思接近,就有机会把相关文档找出来。
向量长什么样
一个文本向量可能像这样:
[0.12, -0.08, 0.45, ..., 0.03]
真实向量通常有几百到几千维。每一维不一定能直接解释,但整体位置能表达语义特征。
向量数据库解决什么问题
如果只有 10 篇文档,直接计算相似度就可以。但如果有 100 万段文本,每次都全量比较会很慢。向量数据库会建立索引,让相似搜索更快。
常见能力包括:
- 向量写入和删除;
- 相似度检索;
- TopK 查询;
- 元数据过滤;
- 批量更新;
- 与 RAG 系统集成。
在RAG中的作用
RAG 通常这样使用向量数据库:
- 把文档切成段落;
- 用 embedding 模型把每段转成向量;
- 存入向量数据库,同时保存来源、标题、时间等元数据;
- 用户提问时,把问题也转成向量;
- 检索最相近的文档片段;
- 把片段交给大模型生成回答。
如果向量库召回错了,后面的大模型很难答对。
切片为什么重要
文档切得太长,检索结果可能包含太多无关内容;切得太短,又可能缺少上下文。常见做法是按标题、段落或固定长度切分,并保留一定重叠。
例如制度文档可以按小节切,FAQ 可以按问题切,代码文档可以按函数或类切。
常见向量数据库
常见选择包括 FAISS、Milvus、Qdrant、Weaviate、Chroma、pgvector 等。选择时要看数据规模、部署方式、过滤能力、生态集成和维护成本。
小项目可以从 Chroma 或 FAISS 开始;生产项目要更重视权限、备份、监控和扩展能力。
常见误区
- 只存向量,不存原文和来源;
- 不做元数据过滤,导致结果范围太大;
- 向量模型换了,但旧向量不重建;
- 只看相似度,不做人工质量评估;
- 把语义相似当成事实正确。
小结
向量让语义可以被计算,向量数据库让大规模语义检索变得可用。学会它的关键是理解 embedding、切片、索引、召回和评估之间的关系。