为什么需要向量数据库?
传统的数据库(如 MySQL, PostgreSQL)擅长精确匹配(如WHERE id = 1),但不擅长在高维空间中寻找“最相似”的数据。
向量数据库使用了特殊的索引算法(如 HNSW, IVFFlat),可以在数亿条数据中毫秒级地找到与查询向量最相似的 Top-K 条记录。
常见向量数据库
- Milvus: 开源、高性能、云原生。
- Pinecone: 托管型服务,易于使用。
- Chroma: 轻量级,适合 Python 开发。
- Qdrant: Rust 编写,性能优异。
- pgvector: PostgreSQL 的向量扩展插件。
工作流程
- 将知识库文本通过 Embedding 模型转换为向量。
- 将向量存入向量数据库。
- 用户提问时,将问题也转换为向量。
- 在数据库中搜索最相似的向量。
- 返回相关文本给 LLM 生成答案。