Labs

深度解析 RAG 核心:一文读懂向量嵌入(Embedding)技术

深度解析 RAG 核心:一文读懂向量嵌入(Embedding)技术

在 RAG(检索增强生成)流程中,当文本完成分块(Chunking)后,下一步至关重要的环节就是向量嵌入(Embedding)。这一过程将每个文本块转换为向量空间中的坐标点,从而在向量化 RAG 系统中实现高效的语义搜索。

为什么我们需要将文本转换为向量?RAG 应用的核心目标是语义检索。以“猫科动物(feline)”和“猫(cat)”为例,尽管这两个词拼写完全不同,但其语义高度相关。语义相似度综合了用户的意图、语境和含义。通过将查询和文档转化为多维空间中的向量,系统可以建立它们之间的关联,从而从数据库中检索出最相关的背景知识,提供给 LLM 进一步处理。在向量空间中,语义相关的词汇通常被存储在彼此靠近的位置。

衡量向量距离最常用的数学方法是余弦相似度(Cosine Similarity)。当用户发起查询时,查询语句会被转化为向量,系统计算该向量与存储向量之间的余弦值。数值越接近 1,表示两者在空间中靠得越近,语义相关性越高。之所以不选择正弦(Sine)或正切(Tangent),是因为在小角度情况下,正弦值始终接近 0,而正切值的波动极其剧烈,这使得它们在衡量语义紧密度时缺乏稳定性。余弦相似度提供了一种更可靠的度量方式。

在具体的检索方法论上,业界主要采用两种方式:KNN(K-最近邻)和 ANN(近似最近邻)。KNN 会将查询向量与所有存储向量进行逐一比对,以找到最精确的邻居。这种方法的优点是精度极高,但在处理海量数据集时速度较慢。而 ANN 则通过算法在极短时间内找到近似的最近向量。当文档规模庞大或存在严格的时间限制时,ANN 是首选方案,它在牺牲极小精度的前提下大幅提升了检索速度。

最后,嵌入模型的维度(Dimensions)也是一个关键指标。向量的维度通常从 256 到 3000 以上不等。维度的大小取决于所使用的模型及其捕获上下文信息的能力。通常情况下,更高的维度意味着能够捕捉到更丰富、更细腻的语义信息。

↗ 阅读原文