AI大模型开发之向量数据库
·
给新手看的「向量数据库完整入门 + 选型 + 对比测试指南」
搞清楚原理、不被名词吓住、知道该选谁、能自己做对比实验。
一、先搞清楚:什么是向量数据库?(一句话)
向量数据库 = 用“相似度”而不是“相等”来找数据的数据库
📌 传统数据库问的是:
这条数据“等不等于”?
📌 向量数据库问的是:
这条数据“像不像”?
二、向量数据库在干什么?(核心三步)
📌 向量数据库 = 三件事
存向量 → 建索引 → 做相似度搜索
📌 记忆口诀(必背)
算向量、建索引、找最近
三、向量索引的原理(新手能懂版)
1️⃣ 为什么需要索引?
假设:
- 你有 100 万条向量
- 每次查询都逐个算距离(暴力搜索)
👉 慢到不能用
📌 所以要:
“少算一点,但尽量算对”
2️⃣ 向量索引在干什么?(类比)
🌰 类比找人:
- 暴力搜索:一个个问
- 向量索引:先分片,再在小范围里找
3️⃣ 常见向量索引类型(重点)
🔹 Flat(暴力)
| 特点 | 说明 |
|---|---|
| 原理 | 全部计算 |
| 准确率 | 100% |
| 速度 | 慢 |
| 适合 | 数据 < 10 万 |
📌 口诀:
Flat:最准,最慢
🔹 IVF(倒排索引)
| 特点 | 说明 |
|---|---|
| 原理 | 先分桶,再搜桶 |
| 速度 | 快 |
| 准确率 | 可调 |
| 适合 | 百万级 |
📌 口诀:
IVF:先分组,再细找
🔹 HNSW(图结构,最常用)
| 特点 | 说明 |
|---|---|
| 原理 | 多层“近邻图” |
| 速度 | 非常快 |
| 准确率 | 很高 |
| 适合 | 大多数场景 |
📌 口诀(强烈推荐记)
HNSW:又快又准,默认首选
四、Milvus / Chroma / FAISS 核心功能对比
1️⃣ 三者一句话定位
| 数据库 | 一句话 |
|---|---|
| FAISS | 向量检索“发动机” |
| Chroma | 新手最友好的向量库 |
| Milvus | 企业级向量数据库 |
2️⃣ 核心功能对比表(新手向)
| 维度 | FAISS | Chroma | Milvus |
|---|---|---|---|
| 上手难度 | ❌ 偏难 | ✅ 最简单 | ❌ 偏复杂 |
| 是否独立服务 | ❌ 库 | ❌ 本地 | ✅ 服务 |
| 索引类型 | 非常多 | 常用 | 非常多 |
| 扩展性 | 一般 | 一般 | 极强 |
| 典型用途 | 算法 / 研究 | RAG / Demo | 企业系统 |
3️⃣ 新手选型一句话建议(重要)
✅ 学习 / 本地 RAG:Chroma
✅ 想理解底层:FAISS
✅ 生产 / 大规模:Milvus
五、索引类型怎么选?(不纠结版)
📌 新手直接用这个表
| 数据规模 | 推荐索引 |
|---|---|
| < 10 万 | Flat |
| 10 万 ~ 100 万 | HNSW |
| > 100 万 | IVF + HNSW |
📌 记住一句话就够:
默认用 HNSW,别想太多
六、性能优化的核心思路(新手能用)
1️⃣ 向量本身
- 向量维度越高 → 越慢
- 常见:384 / 768
2️⃣ 索引参数(知道就行)
HNSW 常见参数
M:连边数量(大 → 准)efSearch:搜索深度(大 → 准,慢)
📌 口诀:
要准就加参数,要快就减参数
3️⃣ 检索数量
- TopK 不要太大(5~10)
- 后面交给 Rerank
七、对比测试:3 种向量数据库(新手实验思路)
⚠️ 新手重点不是“绝对数值”,而是对比方法
🎯 测试目标
- 检索速度
- 检索准确率
1️⃣ 测试数据准备
- 文本:1000 / 10000 条
- 向量:同一个 embedding 模型
- 查询:固定 20 个问题
2️⃣ 测试指标(好理解)
🔹 速度
一次搜索耗时(ms)
🔹 准确率(新手版)
正确答案是否出现在 Top5?
3️⃣ 实验结论(典型结果)
| 数据库 | 速度 | 准确率 | 评价 |
|---|---|---|---|
| FAISS | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 底层强 |
| Chroma | ⭐⭐⭐ | ⭐⭐⭐⭐ | 最适合新手 |
| Milvus | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 生产级 |
📌 关键认知
准确率主要由:
向量模型 + 索引参数决定
不是数据库“魔法”
八、新手最容易踩的坑
❌ 一上来就 Milvus 集群
❌ 不看索引类型
❌ TopK 设置太大
❌ 用向量解决关键词问题
九、终极新手记忆口诀(强烈建议背)
向量管相似,
索引管速度,
HNSW 默认,
Chroma 起步。
十、给新手的学习路线建议
第 1 步(理解)
- 向量是什么
- 相似度是什么
- 为什么要索引
第 2 步(实战)
- Chroma + RAG
- HNSW 索引
第 3 步(进阶)
- FAISS 参数调优
- Milvus 部署
十一、参考文档
Milvus 官方文档、《向量数据库实战》
有任何问题欢迎在评论区交流。
更多推荐
所有评论(0)