一、数据库分类
- 键值数据库(Key-Value):通常用于简单的数据存储,通过键来快速访问数据。
- 文档数据库(Document):用于存储文档结构的数据,如 JSON 格式。
- 图数据库(Graph):用于表示和存储复杂的关系数据,常用于社交网络、推荐等场景。
- 向量数据库(Vector):用于存储和检索基于向量表示的数据,用于 AI 模型的高维度和复杂的嵌入向量。
二、向量数据库在RAG作用
在 RAG 系统中,向量数据库起着重要的作用。其主要功能在于索引过程中,建立高效的向量索引结构,以便快速定位与查询相关的向量数据。在查询阶段,系统将输入的提示转化为向量表示形式,并从数据库中检索出与之最相关的向量及其对应的分块数据。通过这种索引和检索机制,检索到的向量为生成模型提供了必要的上下文信息,使模型能够依据当前的语义上下文生成更加精准和相关的响应。

三、常用向量数据库

Chroma、Qdrant 适合快速开发和轻量化部署,Milvus/Zilliz 适用于高性能和可扩展性需求,FAISS 适合不要求持久化且对性能有极致要求,Weaviate 和 LanceDB 在多模态数据处理中表现出色,PGVector、Elasticsearch 和 Redis 则在现有数据库的高效集成中占优势,而 Pinecone 是云托管场景的理想选择。
四、代码实现
todo