🔵 向量数据库:Pinecone / Milvus / Chroma 怎么选
🔵 向量数据库:Pinecone / Milvus / Chroma 怎么选
RAG 的”地基”是向量数据库。 选错了,整个 AI 应用都会慢、贵、还召不准。 这一篇,给你 3 分钟搞定选型。
🔵 AI 通识专栏 · 第 30 期 📅 2026年8月6日 ✍️ 小敏说 AI
💡 本文要点:本文讲清向量数据库的作用、主流五家对比、个人 / 团队 / 企业三种场景如何选,以及一个常被忽略的”低成本替代方案”。
🎯 本文导读
- 🔹 向量数据库到底干什么
- 🔹 五家主流对比表
- 🔹 三类场景选型建议
- 🔹 被低估的方案:Postgres + pgvector
- 🔹 关键性能指标
一、🧠 它到底干什么
普通数据库存的是结构化字段(姓名、年龄)。 向量数据库存的是一串数字(向量),并支持“找最相似的”。
普通查询:where city = '北京'
向量查询:找语义上最像"上海周边好玩的"的 10 条
💬 关键观点:它是 RAG 的”召回引擎”。召回准不准,几乎决定 RAG 的天花板。
二、📊 五家主流对比
| 数据库 | 类型 | 部署 | 强项 | 价格 |
|---|---|---|---|---|
| Pinecone | 闭源 SaaS | 云 | 上手最快 | 中高 |
| Milvus | 开源 | 自部署/云 | 性能极强 | 自部署免费 |
| Chroma | 开源 | 本地/Python嵌入 | 小项目最爱 | 免费 |
| Weaviate | 开源 | 自部署/云 | 内置混合检索 | 中 |
| Qdrant | 开源 | 自部署/云 | Rust 写的,极快 | 中 |
三、🎯 三类场景选型
个人 / 小项目(< 10 万条向量)
✅ Chroma:一行 pip install,直接跑
团队 / 创业(10 万 - 1000 万)
✅ Qdrant 或 Weaviate:开源、好运维、社区活跃
企业 / 海量(> 1000 万)
✅ Milvus 或 Pinecone:分布式、高可用
🎯 一句话总结:Chroma 起步 → Qdrant 中型 → Milvus 大型。
四、💎 被低估的方案:Postgres + pgvector
如果你公司已经在用 PostgreSQL:
直接装 pgvector 插件 → Postgres 立刻变向量数据库
| 优点 | 缺点 |
|---|---|
| 无需新增组件 | 性能不如专业向量库 |
| SQL 直接查 | 千万级以上会吃力 |
| 运维 0 成本 | 高级功能少 |
⚠️ 大多数中型项目(< 500 万向量),pgvector 完全够用。
五、📐 性能关键指标
| 指标 | 含义 |
|---|---|
| 召回率 | 找到的有多少是真正相关的 |
| 延迟 | 一次查询要多久(毫秒级) |
| QPS | 每秒能撑多少查询 |
| 索引构建 | 100 万向量要多久建好 |
⚠️ 重要提醒:召回率 > 速度 > 成本。召回错,AI 就开始胡说。
六、🛠 一段最简上手代码(Chroma)
import chromadb
client = chromadb.Client()
col = client.create_collection("my_docs")
col.add(
documents=["公司年假是 15 天", "差旅报销 7 天内提交"],
ids=["doc1", "doc2"]
)
results = col.query(
query_texts=["年假多少天?"],
n_results=2
)
print(results)
10 行代码 → 一个本地向量数据库就跑起来了。
七、❌ 常见误区
| 误区 | 真相 |
|---|---|
| ❌ 数据库越贵越好 | ✅ 小项目用 Chroma 完全够 |
| ❌ 向量维度越高越准 | ✅ 1024 维 vs 512 维差距很小 |
| ❌ 不需要混合检索 | ✅ 向量 + 关键字混合召回率高 10-30% |
| ❌ 一次选定终身 | ✅ 项目长大可平滑迁移 |
八、🎁 选型决策树
< 10 万向量? → Chroma
已有 Postgres? → pgvector
中型团队? → Qdrant / Weaviate
百万+ 高并发? → Milvus / Pinecone
📮 今日话题:你了解的最有意思的”向量检索”应用是什么?
🔮 下一篇预告:ep31《Function Calling:AI 如何调用工具——从”会说”到”会做”的关键一步》
🔵 本系列是「小敏说 AI · AI 通识专栏」第 30 期。 关注公众号 小敏说 AI,回复「AI 入门」领取《打工人 AI 自救工具箱》。