1. Naive RAG Vector Stores 是什么

Vector Store(向量存储) 是用来高效存储和检索向量的数据库或存储系统。
在 Naive RAG 中,它的主要职责是:

  1. 存储:保存 Text Splitters 切分后的文本片段及其对应的 Embedding 向量。
  2. 索引:建立高效的相似度搜索索引(如 Faiss 的 IVF、HNSW,或云服务的内置索引)。
  3. 检索:在用户提问时,将问题向量与库中向量比对,快速返回最相似的若干片段(Top-K)。

特点

  • 支持 近似最近邻搜索(ANN),在大规模数据下保持高速检索。
  • 可与多种 Embedding 模型配合使用。
  • 常见类型:内存型(FAISS)、磁盘型(Weaviate)、云端托管型(Pinecone、Qdrant Cloud、Milvus)。

2. 在 Naive RAG 流程中的位置

回顾整体流程:

原始文档 → Text Splitters → Embedding → Vector Store → 检索 → LLM 生成

Vector Store 位于 Embedding 之后、检索之前,是连接向量化数据与语义检索的桥梁。


3. Naive RAG Vector Stores 流程图(Mermaid)

生成阶段

检索阶段

Vector Store 阶段

数据导入与向量化

原始文档

Text Splitters
切分片段

Embedding Model
片段 → 向量

Vector Store
存储向量 + 元数据

建立索引
ANN 加速搜索

用户提问

Embedding Model
问题 → 向量

相似度搜索
Vector Store 中找最近邻

Top-K 相关片段

拼接 Prompt
片段 + 问题

LLM 生成答案

返回用户


流程说明

  1. 数据导入与向量化

    • 文档经 Text Splitters 切成片段。
    • 每个片段经 Embedding Model 转成向量。
  2. Vector Store 阶段

    • 向量与片段原文(或指针)一起存入 Vector Store
    • 建立 ANN 索引以支持快速最近邻搜索。
  3. 检索阶段

    • 用户问题编码成向量。
    • 在 Vector Store 中执行相似度搜索,返回最相关的片段。
  4. 生成阶段

    • 检索到的片段与问题拼成 Prompt,送给 LLM 生成答案。

常见 Vector Store 类型对比

类型 示例 特点 适用场景
内存型 FAISS 本地运行、速度快、需自己管理持久化 小规模/内网/实验
开源服务型 Weaviate, Qdrant, Milvus 支持 RESTful/gRPC、可水平扩展 中大型本地部署
云端托管 Pinecone, Qdrant Cloud, Zilliz Cloud 免运维、弹性伸缩 商业项目/快速上线
轻量嵌入式 Chroma 简单易用、适合原型 小型项目/研究

关键点

  • Naive RAG 的 Vector Store 通常只做 存储 + 相似度搜索,没有复杂的重排序或多模态支持。
  • 向量维度、索引方法会显著影响检索速度与精度。
  • 可替换性强:不同 Vector Store 之间切换一般只需改动检索调用代码。

一句话总结
在 Naive RAG 中,Vector Stores 是用来存储文本向量并支持快速相似度检索的数据库,它把 Embedding 的结果变成可查询的资源,是 RAG 检索能力的核心支柱。


Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐