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. 上下文压缩删减废话,精简输入
相关推荐
Tbisnic5 小时前
LangChain的 六大核心组件与 RAG 知识库构建
人工智能·python·ai·langchain·rag·langgraph
赵大仁9 小时前
浏览器端 RAG:Transformers.js + WebGPU 本地检索入门
前端·ai·react·webgpu·rag
VipSoft1 天前
LangChain — RAG 构建知识库(理论)
rag
梦想三三2 天前
Qwen Function Calling实战:重构电商客服AI Agent
人工智能·python·langchain·大模型·rag
孙启超2 天前
【AI应用开发】 Agent篇(三):规划推理:ReAct 与 Plan-Execute
人工智能·llm·agent·react·observation·rag·plan-execute
孙启超3 天前
【AI应用开发】怎么降低 Agent 幻觉?有几种可行方案?
大数据·人工智能·llm·agent·rag·幻觉·ai应用开发
@atweiwei3 天前
用 Rust 写 LLM Agent:原生工具调用、检索纠错、自适应路由、深度研究、多步规划
开发语言·后端·rust·llm·agent·rag
孙启超3 天前
【AI应用开发】Query 改写、Rerank 在 Agent 系统里起到什么作用?
人工智能·llm·agent·rag·query·ai应用开发·rerank
孙启超3 天前
【AI应用开发】ReAct 原理是什么?和普通直接提问 LLM 差别在哪?
前端·人工智能·llm·agent·react·rag·ai应用开发
孙启超3 天前
【AI应用开发】LangChain 中 Chain 和 Agent 核心区别?
java·人工智能·langchain·llm·rag·ai应用开发·agent loop