RAG-day9

一、稀疏检索 & 稠密检索(最核心,先搞懂这俩)

1. 稀疏检索

人话:按关键词匹配 就像百度搜东西,你输几个字,它找包含这些字的文章。

  • 只认字面关键词
  • 不懂语义、不懂意思
  • 代表工具:**ElasticSearch(ES)**适合:找专有名词、专业术语、法规编号、固定关键词。

举例子:你搜 "乌干达鲜鱼检疫标准"稀疏检索只找包含这几个字的文档。

2. 稠密检索

人话:按意思匹配,不看字面 不管字一不一样,意思相近就给你找出来。靠向量 Embedding 计算语义相似度。

  • 懂语义、懂含义
  • 不依赖关键词
  • 代表:所有向量数据库(Milvus/FAISS)

举例子:搜 "进口鱼类入境要求"哪怕文章里没这句原话,意思一样,也能搜到。

一句话记住区别

  • 稀疏:对字(关键词匹配)
  • 稠密:对意(语义匹配)

二、多路混合检索(RAG 工业级必用)

单独用一个都有缺点:

  • 只用 ES 稀疏:关键词少就搜不到,不懂语义
  • 只用向量稠密:没有关键词时容易搜到不相关的

混合检索 = 稀疏检索 + 稠密检索 一起用两边结果合并、打分、排序。

好处:

  1. 关键词能精准命中专业名词
  2. 语义能搜到意思相近的内容
  3. 不漏、不杂,检索质量直接拉满

面试一句话背:ES 做关键词稀疏检索,向量库做语义稠密检索,两者多路融合,提升召回和精准度。


三、Rerank 重排(必考点,超好懂)

干啥的?

前面混合检索先捞出一批候选内容,Rerank 再精细筛选一遍,重新排队,把最相关的放前面,没用的往后挪或删掉。

通俗流程

  1. 检索阶段:先粗选,捞出 Top10--Top20 一堆内容
  2. Rerank 重排模型:挨个打分、判断相关性
  3. 只留最匹配的 Top3--Top5 给大模型

作用

  • 过滤垃圾无关内容
  • 减少大模型上下文负担
  • 提升答案准确度、减少幻觉

记住一句:先粗搜,再精排,Rerank 负责二次筛选重新排序。


四、Query 改写(用户问题优化)

用户提问有时候:太短、太口语、意思模糊。比如用户只说:"进口鱼有啥要求?"太简略,检索搜不准。

Query 改写做三件事:

  1. 把短句补全成完整专业问句
  2. 口语改成书面专业表述
  3. 拆分多意图问题,拆成多个子问题

目的:让检索更容易搜到精准内容


五、上下文压缩

检索出来的内容可能又长又啰嗦,有废话、有无关段落。上下文压缩就是:把多余废话删掉,只保留和问题相关的关键句子,精简后再给大模型。

好处:

  • 节省 token
  • 加快生成速度
  • 减少无关信息干扰,降低幻觉

六、RAG 常见链路完整流程(Day8+Day9 合起来完整版)

我给你串成一条完整流水线,超好记:文档入库 → 高级分块 → 生成 Embedding 存入向量库 + ES 建索引用户提问 → Query 改写 → 多路混合检索(ES + 向量)→ Rerank 重排 → 上下文压缩 → 喂给大模型生成答案


七、给你整理 Day9 必背极简口诀

  1. 稀疏对字,稠密对意
  2. ES 稀疏找关键词,向量稠密找语义
  3. 混合检索两路合并,不漏不杂
  4. 先粗搜,后精排,Rerank 做重排
  5. Query 改写补全问题,方便检索
  6. 上下文压缩删减废话,精简输入
相关推荐
秋名山码民11 天前
Graph RAG 深度解析:从向量检索到知识推理的技术演进
大数据·人工智能·rag
Artech12 天前
[MAF预定义的AIContextProvider-01]TextSearchProvider——RAG在MAF中的实现
ai·agent·rag·maf
染指111012 天前
26.RAG进阶(Advanced RAG)-假设性问题索引
人工智能·windows·agent·rag·advanced rag
SXJR12 天前
spring boot + langchain4j +milvus实现向量存储
java·spring boot·后端·大模型·milvus·rag·langchain4j
deephub12 天前
Flash-KMeans:快速且内存高效的精确 K-Means,可在单张 GPU 进行亿级数据的聚类
人工智能·机器学习·kmeans·聚类·rag
四六的六12 天前
WebView里跑RAG——浏览器内知识检索增强实战
前端·实战·个人开发·webview·ai大模型·rag·webview内嵌开发
Attachment George13 天前
山东大学软件学院-项目实训-个人开发日志(十):材料问答链路开发——文档解析、OCR兜底与持续追问完善
python·ai·langchain·kotlin·rag
knight_9___13 天前
AI Agent 是什么?
人工智能·python·agent·rag·mcp
程序员三明治13 天前
【AI】从文本到向量:理解Embedding的作用
java·人工智能·后端·llm·元数据·rag·向量化
不爱洗脚的小滕13 天前
【Agent】如何为 AI Agent 设计高可用的 Tools
人工智能·aigc·ai编程·rag