向量数据库知识体系概览
问题
什么是向量数据库?为什么需要专门的向量数据库?
答案
什么是向量数据库
向量数据库是专门用于存储、索引和检索高维向量的数据库。向量(Embedding)是用一组浮点数组成的数组来表示非结构化数据(文本、图片、音频等)的语义信息。
"人工智能改变世界" → [0.23, -0.15, 0.87, ..., 0.42] // 768维或1536维
为什么需要向量数据库
传统数据库擅长精确匹配(WHERE id = 1),但无法进行语义相似度搜索:
| 搜索类型 | 传统数据库 | 向量数据库 |
|---|---|---|
SELECT * WHERE name = '苹果' | ✅ 精确匹配 | 不擅长 |
| "找和苹果语义相似的词" | ❌ 无法完成 | ✅ 返回"水果"、"梨" |
核心应用场景
- RAG(检索增强生成):从知识库中检索与用户问题最相关的文档片段
- 语义搜索:理解搜索意图,而非只做关键词匹配
- 推荐系统:基于 Embedding 相似度推荐相似商品/内容
- 图片搜索:以图搜图、跨模态搜索
- 去重/聚类:找出语义相似的文档
本分类文档导航
| 文档 | 核心内容 | 面试重点 |
|---|---|---|
| 向量索引原理 | HNSW、IVF、PQ 量化 | ⭐⭐⭐⭐⭐ |
| Milvus | 专用向量数据库、架构、使用 | ⭐⭐⭐⭐ |
| pgvector | PostgreSQL 向量扩展 | ⭐⭐⭐⭐ |
| RAG 中的向量检索 | RAG 实践、混合搜索 | ⭐⭐⭐⭐⭐ |
相关链接
- Embedding 基础
- 向量检索
- RAG 基础