语义搜索与RAG技术全景

#2025/12/31 #ai

前面 我们学会了如何用链、记忆和智能体来增强LLM的能力。
现在 我们要解决一个更实际的问题:如何让LLM获取并使用外部知识?


目录

一、为什么需要语义搜索和RAG?

问题1:传统搜索的局限

想象一下传统的关键词搜索:

用户搜索:"如何做好吃的意大利面"  
传统搜索:找包含"意大利面"这个词的文章  
问题:可能错过"pasta料理秘诀"这类相关内容  

局限性

  • ❌ 只能匹配完全相同的词
  • ❌ 无法理解语义相似性
  • ❌ 搜到的结果可能不相关

问题2:LLM的“幻觉“问题

用户问:"2023年世界杯冠军是谁?"  
LLM回答:"我认为是巴西队。" # ❌ 错误!但说得很自信  

LLM的问题

  • 训练数据有时效性(可能是2021年的数据)
  • 会“编造“听起来合理但错误的答案
  • 无法访问实时信息或专有数据

解决方案预览

技术解决什么问题核心思路
语义搜索理解搜索意图基于语义而非关键词
RAGLLM的幻觉问题先搜索真实文档,再生成答案

二、语义搜索:让搜索“懂你“

什么是语义搜索?

核心定义:通过理解语义含义而非简单的关键词匹配来实现精准检索。

形象对比

传统搜索:  
查询:"银行在哪里?"  
匹配:文档中必须有"银行"这个词  

语义搜索:  
查询:"银行在哪里?"  
理解:用户想找金融机构的位置  
匹配:可以找到"储蓄所地址""信用社位置"等相关内容  

为什么语义搜索这么重要?

历史里程碑

2018年,谷歌发布BERT论文后几个月:

  • 谷歌:将BERT整合到搜索引擎,称为“搜索史上最具突破性的进步之一
  • 微软:在必应搜索中使用大型Transformer模型,带来“过去一年中最显著的体验提升

这证明了什么?

  • ✅ 语言模型有强大的实用价值
  • ✅ 可以显著提升成熟系统的性能
  • ✅ 全球数十亿用户都能受益

三、语义搜索的三大核心技术

文档将主流技术分为三大类,我们逐一理解:


技术1:稠密检索(Dense Retrieval)

核心思路

把文本转换成数字向量,通过向量相似度找到最相关的文档

工作流程图解

用户查询:"科学有多精确?"  
    ↓  
转换成向量:[0.2, 0.8, 0.3, ...]  
    ↓  
与文档库中所有向量比较距离  
    ↓  
找到最近的3个向量  
    ↓  
返回对应的文档  

{%}|592

图:稠密检索是语义搜索的第一大核心类型,通过文本嵌入的相似度实现精准的结果筛选

搜索查询 → [嵌入向量]   

文档库:  
- 文档1 → [向量1]  
- 文档2 → [向量2]  ← 最相似!  
- 文档3 → [向量3]  

结果:  
1. 文档40  
2. 文档68  
3. 文档2  

关键优势

语义相似的文本在向量空间中会彼此靠近

向量空间示意图:  

    文本2 ●  
         
查询 ★      文本1 ●  

              文本3 ●(距离远)  
  • 查询和文本2最近 → 最相关
  • 查询和文本1次近 → 次相关
  • 查询和文本3远 → 不相关

技术2:重排序(Reranking)

为什么需要重排序?

问题场景

  • 第一次搜索可能返回100个结果
  • 排序可能不够精准
  • 需要进一步优化前3-5个结果

工作流程

如图8-2所示:

查询:"MacBook价格"  
    ↓  
初步搜索(如关键词搜索)  
    ↓  
候选结果:  
1. 文档40  
2. 文档68  
3. 文档2  
    ↓  
重排器深度分析  
    ↓  
优化后排序:  
4. 文档2  (之前排第3)← 更相关!  
5. 文档40 (之前排第1)  
6. 文档68 (之前排第2)  

{%}|664

图:重排器是语义搜索的第二大核心类型,重排器能够接收搜索查询与初始结果集,并根据相关性进行重新排序,从而显著提升结果质量

关键特点

维度第一阶段检索重排序
速度快(处理海量文档)慢(精细分析)
准确性中等
输入用户查询查询+候选结果
处理量成千上万个文档10-100个候选结果

技术3:RAG(检索增强生成)

什么是RAG?

RAG = Retrieval-Augmented Generation

核心公式

RAG = 搜索系统 + 生成式LLM  

工作原理

{%}

图:RAG 系统能够针对用户的问题生成精准回答,并(在理想情况下)标注其参考的信息来源

用户问题:"MacBook Pro多少钱?"  
    ↓  
[步骤1:检索]  
搜索相关文档  
    ↓  
找到:  
- 搜索结果1:"MacBook Pro价格$2,249"  
- 搜索结果2:"M3芯片版本更贵"  
- 搜索结果3:"官网有优惠"  
    ↓  
[步骤2:生成]  
把问题+搜索结果一起给LLM  
    ↓  
LLM输出:  
"根据搜索结果[1],MacBook Pro目前价格是$2,249。  
官方渠道[3]可能有优惠活动。"  

RAG的强大之处

功能无RAG的LLM有RAG的LLM
信息时效性❌ 训练数据可能过时✅ 实时检索最新信息
事实准确性❌ 容易产生幻觉✅ 基于真实文档回答
引用来源❌ 无法提供✅ 标注信息来源
专有数据❌ 无法访问✅ 可接入企业数据

RAG的典型应用

1. 生成式搜索引擎

Perplexity、Microsoft Copilot、Google Gemini  
→ 不只是返回链接,而是生成完整答案  

2. “与我的数据对话”

企业场景:  
"根据我们的销售报告,上季度哪个产品卖得最好?"  
→ RAG检索内部报告 → LLM生成分析  

3. 增强LLM的知识库

书籍内容、技术文档、法律条款等  
→ 让LLM能准确引用和解释特定内容  

四、三大技术的对比总结

完整对比表

技术输入输出优势典型应用
稠密检索查询文本相关文档列表理解语义语义搜索
重排序查询+候选文档优化后的排序提升精准度搜索优化
RAG问题带引用的答案减少幻觉问答系统

技术之间的关系

它们不是互斥的,而是可以组合使用!

最佳实践流程:  

用户问题  
    ↓  
[稠密检索]找到Top 100候选文档  
    ↓  
[重排序]优化到Top 5最相关文档  
    ↓  
[RAG]把Top 5文档+问题输入LLM  
    ↓  
生成带引用的精准答案  

五、实际应用场景举例

场景1:企业知识库问答

# 传统方案  
用户:"公司的请假政策是什么?"  
员工手册:300页PDF  
员工:需要自己翻找 😓  

# RAG方案  
用户:"公司的请假政策是什么?"  
系统:  
1. 搜索员工手册相关章节  
2. LLM总结并回答  
3. 附上原文页码  
员工:秒懂!😊  

场景2:客服机器人

# 问题  
客户:"我的订单怎么还没到?"  

# RAG流程  
1. 检索订单数据库 → 找到该客户订单号XX123  
2. 检索物流系统 → 当前在运输中  
3. LLM生成回答:  
   "您的订单XX123已发货,预计3天内送达。  
    当前位置:XX市配送中心。[来源:物流系统]"  

场景3:学术研究助手

# 需求  
研究员:"总结最近关于Transformer的论文"  

# RAG流程  
1. 搜索学术数据库 → 找到2023-2024年相关论文  
2. 提取关键信息  
3. LLM生成综述:  
   "近期Transformer研究主要聚焦三个方向:  
    1) 效率优化[论文1,2]  
    2) 多模态扩展[论文3,4]  
    3) 长文本处理[论文5,6]"  

六、技术演进时间线

历史发展脉络

2018年:BERT发布  
    ↓  
谷歌、微软将其整合到搜索引擎  
    ↓  
2020年:RAG技术提出  
    ↓  
2023年:生成式搜索大爆发  
(Perplexity、Copilot等)  
    ↓  
现在:RAG成为LLM最受瞩目的应用场景  

七、下一步

下面将深入解析这些技术的实现:

8.2节 → 语义搜索实践  
├─ 8.2.1 稠密检索详解  
├─ 8.2.2 重排序详解  
└─ 8.2.3 评估指标  

8.3节 → RAG系统构建  
├─ 8.3.1 从搜索到RAG  
├─ 8.3.2 使用API实现  
├─ 8.3.3 本地模型实现  
├─ 8.3.4 高级技巧  
└─ 8.3.5 效果评估  

八、核心要点总结

1. 三大技术记忆法

稠密检索:把文本变成向量,找最近的  
重排序:对初步结果进行精细优化  
RAG:搜索+生成,既准确又智能  

2. 为什么重要?

价值说明
解决实际问题LLM的幻觉、时效性问题
商业价值谷歌、微软等巨头验证
应用广泛搜索、问答、知识管理

3. 关键认知

这些技术不是孤立的

  • 稠密检索是基础
  • 重排序是优化
  • RAG是应用

它们共同构成现代智能搜索系统的完整解决方案!


核心启示

语义搜索和RAG的本质

  • 不是让搜索更快
  • 而是让搜索更懂你
  • 不是让LLM更聪明
  • 而是让LLM有据可依

就像给LLM装上了“外接大脑“——既能理解语义,又能检索事实,还能生成答案!

现在你已经了解了语义搜索和RAG的全景图,接下来让我们深入每个技术的实现细节!