什么是向量数据库?
向量数据库(Vector Database)是一种专门用于存储、管理和检索向量嵌入数据的数据库系统。与传统数据库按精确条件匹配不同,向量数据库支持"相似度搜索"——给定一个查询向量,它能快速找到最相似的向量。这在 AI 应用中非常有用,因为 Embedding 向量天然携带语义信息。
向量数据库的工作原理
存储:将文本、图片等数据通过 Embedding 模型转换为向量,存入向量数据库。
索引:为了高效搜索,向量数据库会构建特殊的索引结构(如 HNSW、IVF),将相似的向量聚集在一起,大幅缩小搜索范围。
搜索:给定查询向量,向量数据库在索引中快速找到最相似的 K 个向量,返回对应的原始数据。
主流向量数据库
- ·Pinecone:托管向量数据库,开箱即用
- ·Milvus:开源向量数据库,功能强大
- ·Weaviate:开箱即用,支持多种 Embedding 模型
- ·Qdrant:Rust 编写,性能优异
- ·ChromaDB:轻量级,适合开发和原型
- ·pgvector:PostgreSQL 的向量扩展,适合已有 Postgres 的团队
向量数据库的应用场景
向量数据库最核心的应用是 RAG(检索增强生成)——作为大模型的外部知识库。此外,它还广泛应用于语义搜索、推荐系统、图像检索、异常检测、去重等场景。