【速通RAG实战:数据库】6.RAG向量数据库原理

在 RAG(检索增强生成)系统中,向量数据库扮演着至关重要的角色,它负责存储文本经过 Embedding 处理后的向量表示,并能高效地进行向量检索,以找出与查询向量最相似的文档。

1.向量数据库原理

1.向量表示

在 RAG 系统里,文本首先会通过 Embedding 模型(如 OpenAI Embeddings、Sentence Transformers 等)转化为固定维度的向量。这些向量能够捕捉文本的语义信息,使得语义相近的文本在向量空间中距离较近。例如,“苹果公司推出了新产品”和“苹果公司发布了新的产品”这两句话经过 Embedding 后,它们对应的向量在向量空间中的距离会比较小。

2.索引结构

为了实现高效的向量检索,向量数据库通常会采用特定的索引结构。常见的索引结构有:

  1. KD - Tree(K - Dimensional Tree)
    1. 原理:它是一种对 k 维空间中的点进行划分的数据结构,通过递归地将 k 维空间划分为两个半空间,从而实现对数据的快速查找。
    2. 优点:实现相对简单,适用于低维数据(维度通常小于 20)。
    3. 缺点:随着数据维度的增加,其查询效率会显著下降,出现“维度灾难”问题。
  2. Ball Tree

    你可能感兴趣的:(速通,RAG,实战!解锁,AI,2.0,高薪密码,速通RAG实战,RAG快速开发实战,RAG,RAG向量数据库,相似度,FAISS,Chroma)