大数跨境

RAG中语义理解和语义检索的区别与应用

RAG中语义理解和语义检索的区别与应用 AI探索时代
2025-12-09
2
导读:语义理解是模型的基础能力,语义检索是一种检索技术。

 语义理解是模型的基础能力,语义检索是一种检索技术。



可能很多人都听过语义理解和语义检索,但大部分可能都没搞明白这两者之间的区别和联系,以及应用场景。


在自然语言处理的大模型中,大模型的执行由两个阶段组成,自然语言理解(NLU)和自然语言生成(NLG);而在RAG中同样存在类似的两种类型,即语义理解和语义检索。


那么,语义理解和语义检索在RAG的中有什么区别和应用场景呢?或者说RAG哪个阶段属于语义理解阶段,哪个阶段属于语义检索阶段?




语义理解和语义检索




在RAG的流程中,用户提出问题,然后根据问题去进行标量(条件查询)或向量检索(语义检索),其目的是检索到与问题相关的文档,然后给模型进行增强生成。


简单流程如下图所示:


然后把用户问题,检索回来的文档,以及历史记录拼接到提示词中,让大模型进行生成,而这个阶段就涉及到大模型的自然语言理解和自然语言生成两个过程。


事实上在传统RAG中,语义检索才是核心,原因是因为基于自然语言的问答,需要进行语义检索而不是传统的条件检索;而这也是为什么RAG需要向量数据库的原因,因为语义检索的技术本质就是向量计算。


可能有些人不太了解向量数据库,或者有点神话向量数据库的作用;事实上,向量数据库和传统的关系型数据库没有本质上的区别,唯一的一点就是向量数据库多了向量计算的能力;所以,只要是需要向量计算的场景都可以使用向量数据库,包括但不仅限于智能问答,智能搜索等。


向量数据库就是在关系型数据库的基础之上,增加了向量列,而向量列的唯一作用就是相似度检索;但真正用于模型增强生成的还是原文档,这就类似于我们经常需要用ID或Name字段做检索,但真正使用的是表中的其它列。


OK,了解了语义检索的基本原理,那么再来说说语义理解;在前面说大模型在生成阶段需要经过语义理解和语义生成的过程;但在智能体实现的RAG系统中,语义理解也是其中的一个重要过程,可以说语义理解才是智能体的核心。


在增强检索的智能体中,我们设置几个查询工具,每个工具有不同的查询参数;而这个参数的作用就是用来做语义查询或者条件查询,但这个参数是怎么生成的呢?


就是大模型通过理解用户的问题,根据问题生成工具参数的值,然后进行工具调用。因此,在智能体中语义理解扮演着重要角色,如果大模型无法进行准确的语义理解,那么工具调用的结果就会出错。


因此在RAG中,语义理解和语义检索扮演着不同的角色,以此实现不同的功能;语义理解是模型的基本能力,而语义检索是检索的一种手段,区别于传统字符匹配方式,但本质相同。









【声明】内容源于网络
0
0
AI探索时代
专注AI工程化落地,让你的技术不再纸上谈兵
内容 367
粉丝 0
AI探索时代 专注AI工程化落地,让你的技术不再纸上谈兵
总阅读133
粉丝0
内容367