向量数据库是当今AI技术栈中非常关键的一环,解决了传统数据库无法处理的 语义理解和相似性搜索 问题。

1
向量数据库是什么?
1. 一个形象的比喻
想象一下,传统数据库和向量数据库的区别就像是:
传统数据库 :一个管理严格的图书馆,每本书都有固定的编号和分类,要找书,必须知道准确的书名或作者,然后去对应的架子上找,它回答的是“ 是什么 ”的问题。
向量数据库 :一个懂你的朋友,告诉它“我想找一本关于如何处理客户投诉的书,最好是那种既专业又有人情味的”,它会根据你的描述,在脑海中搜索语义相似的书籍,然后推荐给你《客户关系危机应对手册》——即使这本书的书名里一个字都没有提到“投诉”,它回答的是“ 像什么 ”的问题。
2. 核心定义
向量数据库是专门用于存储、索引和查询 高维向量数据 的系统,这些向量是文本、图像、音频等非结构化数据通过AI模型(如BERT、ResNet)转换而成的 数值表示 ,通常称为 向量嵌入(Vector Embeddings) 。
2
向量数据库的核心概念
1. 向量嵌入(Embedding)
一个嵌入模型可以将任何非结构化数据转换为一串固定长度的浮点数(向量)。
数据类型 | 原始形式 | 向量表示 | 维度示例 | 生成模型 |
|---|---|---|---|---|
文本 | "我喜欢吃苹果" | [0.23, -0.45, 0.9, ..., 0.12] | 384-1024维 | BERT、text-embedding-3 |
图像 | 一张猫的图片 | [0.56, 0.78, -0.23, ...] | 512-2048维 | ResNet、CLIP |
音频 | 一段语音 | [0.12, -0.34, 0.67, ...] | 128-512维 | OpenL3 |
关键特性 :语义上相似的对象,在向量空间中的距离也会更近。比如,"猫"和"猫咪"的向量会很接近,而"猫"和"拖拉机"的向量则会相距很远。
2. 距离度量 —— 判断“像不像”
向量数据库通过数学公式计算向量间的“距离”来衡量相似度:
度量方式 | 计算公式 | 特点 | 适用场景 |
|---|---|---|---|
余弦相似度 | cos(θ) = (A·B)/(|A||B|) | 关注方向而非大小,范围[-1,1] | 文本相似度、语义搜索 |
欧氏距离 | √Σ(Aᵢ - Bᵢ)² | 空间中两点间的直线距离 | 图像特征、聚类分析 |
点积 | A·B | 未归一化的余弦相似度 | 推荐系统、归一化数据 |
3. 索引算法 —— 如何找
面对数亿甚至数十亿的高维向量,暴力计算显然不可行,向量数据库使用 近似最近邻(ANN) 算法,以微小精度换百倍速度。
算法 | 全称 | 原理 | 特点 |
|---|---|---|---|
HNSW | Hierarchical Navigable Small World | 基于多层图结构,上层快速跳跃,下层精细搜索 | 目前最流行,速度与精度平衡好 |
IVF | Inverted File | 先聚类划分空间,只在相近的簇中搜索 | 适合大规模数据,可调节精度 |
PQ | Product Quantization | 将向量压缩成码本,减少存储 | 极致节省内存,适合超大规模 |
3
向量数据库与传统数据库的对比
对比维度 | 传统数据库(如MySQL) | 向量数据库 |
|---|---|---|
存储核心 | 结构化数据(数字、字符串、日期) | 高维向量(语义指纹) |
查询逻辑 | 精确匹配:WHERE name = '张三' | 相似性搜索:找最像这个的 |
索引技术 | B-Tree、哈希索引 | HNSW、IVF、PQ等ANN算法 |
擅长领域 | 订单管理、用户信息、财务统计 | 语义检索、推荐系统、AI应用 |
对非结构化数据 | 难以直接处理 | 天然支持(通过Embedding) |
扩展性 | 垂直扩展为主 | 天然支持分布式、水平扩展 |
一句话总结 :传统数据库管“精确记录”,向量数据库管“理解含义”。
4
向量数据库的主要作用与应用场景
1. 检索增强生成(RAG) —— 大模型的“外挂大脑”
这是当前最热门的应用,大模型(如GPT)有知识截止日期且可能“编造答案”。RAG架构的工作流程:
用户提问 → 将问题转为向量 → 在向量数据库中搜索相关知识 → 将检索到的知识+原始问题一起提交给大模型 → 大模型基于材料生成答案效果 :极大减少幻觉,答案有据可查,且可引入私有知识库。
2. 语义搜索
不再是简单的关键词匹配,而是理解意图,比如搜索“能处理复杂地形的机器人”,即使文档中没有“复杂地形”这个词,但包含“履带式”、“爬坡能力”、“越障”等概念的文档也能被召回。
3. 推荐系统
将用户行为向量化,在向量数据库中找“相似用户”或“相似物品”,实现个性化推荐。
4. 多模态搜索
打通不同模态数据。例如:
5. 异常检测
将正常行为模式向量化,偏离太远的视为异常,用于金融欺诈检测、工业设备故障预警等。
5
向量数据库在机器人领域的应用前景
向量数据库可以在以下方面发挥作用:
1. 机器人知识库
让机器人拥有“长期记忆”。例如:
2. 场景理解与导航
将不同场景的视觉特征存入向量数据库,机器人在环境中移动时,可以实时比对当前场景与历史场景的相似度,辅助定位和导航。
3. 人机交互语义理解
将用户的各种指令(可能有口音、省略、歧义)向量化,在历史交互库中检索最相似的意图,提升理解准确率。
4. 故障诊断与维护
存储各种故障模式对应的传感器数据向量,当异常发生时,快速检索最相似的已知故障,给出维修建议。
6
常用向量数据库选型参考
1. 主流产品概览
数据库 | 类型 | 特点 | 适用场景 |
|---|---|---|---|
Milvus | 开源 | 功能强大,支持多种索引,云原生架构 | 大规模生产环境 |
Qdrant | 开源 | Rust编写,高性能,支持丰富过滤 | 需要复杂过滤的场景 |
Weaviate | 开源 | 支持知识图谱,GraphQL API | 语义搜索+知识关联 |
Pinecone | 商业 | 全托管,无需运维,自动扩展 | 快速上线,不想自己运维 |
Chroma | 开源 | 轻量级,易用,适合快速原型 | 实验、学习、小项目 |
pgvector | 插件 | PostgreSQL的向量扩展 | 希望和现有数据共存 |
2. 选型考虑因素