跳转至

向量数据库实战

简介

  • 来源:Qdrant、Chroma、Pinecone
  • 先修要求:Python 基础、了解 Embedding 概念
  • 编程语言:Python
  • 课程难度:🌟🌟
  • 预计学时:10 小时 +

向量数据库是 RAG 系统的"记忆"组件。传统数据库存储结构化数据(行和列),向量数据库存储向量(Embedding)——即文本、图片等内容的数值化语义表示。它的核心能力是:给定一个查询,快速找到语义最相似的向量。

这个能力叫做"近似最近邻搜索"(ANN),是让 RAG 系统快速检索相关知识的底层引擎。没有向量数据库,RAG 就需要暴力遍历所有文档——在实际应用中完全不可行。

课程资源

资源汇总

主流向量数据库对比:

数据库 开源 托管服务 特点 适用场景
Chroma ✅ ❌ 纯 Python,零配置,内存/持久化 本地开发、原型验证
Qdrant ✅ ✅ Rust 实现,高性能,支持过滤+向量混合检索 生产环境首选之一
Milvus ✅ ✅ 分布式架构,十亿级向量 大规模向量检索
Weaviate ✅ ✅ GraphQL API,内置模块丰富 需要灵活查询的场景
Pinecone ❌ ✅ 全托管,零运维 快速上线、不想自运维
pgvector ✅ ❌ PostgreSQL 扩展 已有 PG 数据库,不想引入新组件

动手实战:

Embedding 模型选择:

备注

入门推荐:Chroma(本地开发) → Qdrant(生产部署)。Chroma 不需要装任何服务,pip install 就能用,非常适合学习。Qdrant 单机版一个 Docker 命令就起来了,功能完善,是生产环境的稳妥选择。

pgvector 也很值得关注——如果你项目里已经有 PostgreSQL,加一个扩展就能用向量检索,多一个组件都不用装。

关键概念弄明白三个就行:Embedding(文本 → 向量)、ANN 检索(快速找到相似向量)、元过滤(向量相似度 + 结构化条件混合查询)。