1.1 什么是向量数据库
定义
向量数据库是一类专门用于存储、索引、管理和检索高维向量数据的数据库系统。它的核心目标是高效完成基于相似度的搜索与匹配任务,是 AI 与机器学习场景的基石。
向量 (Vector)
由深度学习模型(Embedding Model)生成,将文本、图像、音频等非结构化数据转化为数值列表,捕捉其语义特征。
- 高维特性: 通常 100 ~ 1536 维度
- 相似性搜索: 基于距离(如欧氏距离)而非精确匹配
- ANN 检索: 近似最近邻搜索,平衡速度与精度
1.2 向量数据库 vs 传统数据库
| 对比维度 | 传统数据库 (RDBMS) | 向量数据库 (Vector DB) |
|---|---|---|
| 核心查询 | 精确匹配 (=, IN, JOIN) | 相似性搜索 (Top-K, Radius) |
| 数据类型 | 结构化数据 (Int, Varchar) | 高维向量 (Embeddings) |
| 索引结构 | B-Tree, Hash Index | HNSW, IVF, PQ |
| 距离计算 | 不支持 (或低效) | 欧氏距离, 余弦相似度, 内积 |
| 典型应用 | OLTP, 报表, 事务处理 | AI/ML, 语义搜索, 推荐系统 |
1.3 核心能力模块
向量存储 (Storage)
高效存储海量高维向量数据,通常经过量化(Quantization)压缩以减少内存占用。
向量索引 (Indexing)
构建特定的数据结构(如 HNSW 图、IVF 倒排索引)以加速检索,避免暴力扫描。
相似度计算 (Metrics)
计算向量间距离的数学方法,如欧氏距离 (L2)、余弦相似度 (Cosine)、内积 (IP)。
混合过滤 (Hybrid Search)
结合标量数据(如时间、标签)进行预过滤或后过滤,满足复杂业务需求。
1.4 技术深度:索引与算法
HNSW (Hierarchical Navigable Small World)
目前最主流的图索引算法。它模仿“六度分隔理论”,构建多层图结构。
- 上层: 稀疏连接,用于快速“跳跃”逼近目标区域。
- 下层: 稠密连接,用于精细化局部搜索。
- 优点: 极高的查询速度 (QPS) 和召回率。
- 缺点: 内存占用较高,构建索引慢。
IVF (Inverted File)
将向量空间划分为多个聚类(Voronoi Cells)。查询时只搜索最近的几个聚类,大幅减少计算量。
PQ (Product Quantization)
将高维向量切分为低维子向量并进行聚类编码,实现数据压缩,大幅降低内存消耗。
Flat (Brute Force)
暴力搜索,计算与所有向量的距离。精度 100%,但速度最慢,仅适用于小规模数据。
1.5 常见应用场景
RAG (检索增强生成)
为 LLM 提供外部知识库。将文档切片向量化存入 DB,提问时检索相关片段作为 Context。
语义搜索
超越关键词匹配。搜索 "水果",能匹配到 "苹果"、"香蕉",理解查询意图。
推荐系统
计算用户向量与商品向量的相似度,实现 "猜你喜欢" 的个性化推荐。
多模态检索
以文搜图、以图搜视频。利用 CLIP 等模型将不同模态映射到同一向量空间。
去重与风控
识别相似内容(如重复新闻、垃圾广告)或异常行为模式。
长期记忆 (Memory)
赋予 AI Agent 长期记忆能力,存储历史对话和交互信息。
主流向量数据库
Milvus / Zilliz
开源界事实标准,功能强大,支持分布式。
Pinecone
云原生全托管服务,易用性极佳。
Chroma
轻量级,专为 AI 应用设计,开发体验好。