news 2026/5/29 3:56:57

RAG 技术体系:从向量检索到生产级 Pipeline

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RAG 技术体系:从向量检索到生产级 Pipeline

RAG(Retrieval-Augmented Generation)的核心思路很简单:LLM 的上下文窗口有限,不要全塞,只塞相关的。从外部知识库检索相关内容,注入 prompt,让模型基于检索结果生成回答。

完整流程:写入 + 检索

两个阶段:

写入(Ingestion):原始文档 → 切块(Chunking)→ Embedding 模型编码 → 存入向量数据库。

检索(Retrieval):用户提问 → 同一个 Embedding 模型编码 → 向量相似度搜索 → 取出 Top-K → Rerank 精排 → 取 Top-N 注入 prompt → LLM 生成回答。

接下来按 Pipeline 的顺序,逐个拆解每个环节。

Chunking:切块的核心矛盾

切太大 → embedding 把所有语义平均了,搜什么都"有点像"但不精确。切太小 → 丢失上下文,“它用 REST” 里的"它"指什么都不知道。

从简单到智能,主要策略:

Fixed Size + Overlap:固定 400 tokens,重叠 100 tokens。简单有效,但会从句子中间切断。

Recursive Character Splitter:LangChain 默认方案。按优先级递归尝试分隔符:\n\n\n.→ 字符。尽量保持段落/句子完整。

Document-Aware:根据文档结构切——Markdown 按标题,代码按函数,HTML 按 section。

Semantic Chunking:对每个句子生成 embedding,计算相邻句子的 cosine similarity,在相似度断崖式下降的地方切分:

每个 chunk 内部语义自洽,但预处理成本高。

Small-to-Big:解决经典矛盾

存两层 chunk:小 chunk(100 tokens)用于精准检索,大 chunk(500 tokens,parent)用于返回给 LLM,保证上下文完整。可以和上面任何策略组合使用。

Embedding:有损压缩,不可逆

Embedding 把文本映射到高维空间中的一个点。语义相近的文本,在空间中距离相近:

“我喜欢吃苹果” → 点 A

“我爱吃水果” → 点 B(离 A 很近)

“苹果发布新 iPhone” → 点 C(离 A 远,虽然都有"苹果")

关键认知:400 tokens 文本被压缩成 1536 维向量,信息量大幅减少。向量不能反推出原文。

所以向量库每条记录存三样东西:vector(用于搜索)、text(原文,用于返回)、metadata(来源、时间戳等)。检索时通过向量找到位置,返回的是存储的原文——跟 Google 搜索用索引找网页是一个道理。

Rerank:两阶段检索 Pipeline

向量检索的 Top-K 排序往往不够准。解决方案:粗排 + 精排两阶段。

Stage 1 — Bi-Encoder(粗排):查询和文档分别编码成向量,算 cosine similarity。文档向量可预计算,查询时只算一个向量。快(毫秒级),但 query 和 document 之间没有深度交互。

Stage 2 — Cross-Encoder(精排):把查询和文档拼在一起[Query SEP Doc],经过完整 Transformer self-attention,输出 relevance score。每对 (query, doc) 都要跑一次完整 forward pass。慢(百毫秒级),但排序更准。

举个例子,查询 “推荐一本 Python 入门书”:

阶段Doc1《Python编程从入门到实践》Doc2《Python入门很简单》Doc3《算法导论第四版》
Bi-Encoder 粗排0.710.920.45
Cross-Encoder 精排0.880.950.31

粗排已经把 Doc2 排到了第一,但精排进一步拉开了差距——Doc3 从 0.45 降到 0.31,说明深度交互后模型更确信它不相关。

本质区别:Bi-Encoder 是"各自画肖像再比较",Cross-Encoder 是"放在一起仔细端详"。

常见 Reranker:Cohere Rerank(API,最方便)、bge-reranker-v2(开源,中英文都强)、cross-encoder/ms-marco-MiniLM(经典开源)。

Hybrid Search:语义 + 关键词双路检索

单靠向量搜索不够:它能理解"我习惯用什么语言"和"喜欢 TypeScript"是相关的,但搜精确 ID、错误代码不准。BM25 关键词搜索精确匹配好,但不懂语义。

两路并行搜索后需要合并排名。最常用的方法是RRF(Reciprocal Rank Fusion)——不看分数(BM25 和 cosine 量纲不同),只看排名:

示例:

chunk_A:BM25 排名第 1,向量排名第 2 → RRF = 1/61 + 1/62 =0.0325

chunk_B:BM25 没出现,向量排名第 1 → RRF = 0 + 1/61 =0.0164

在两个搜索里都排名靠前的文档,合并后分数最高。简单、对异常分数鲁棒。

生产推荐

级别组合
最简单Recursive Splitter + 400 tokens + 100 overlap
推荐Document-Aware + Small-to-Big + Rerank
高精度Semantic Chunking + Small-to-Big + Hybrid Search + Rerank

K(召回数量):没有 reranker 时 5 到 10,有 reranker 时 20 到 50。太小会丢失相关文档,太大则 reranker 负担重。

N(注入 prompt 数):通常 3 到 5。受限于 prompt 空间和Lost in the Middle效应——LLM 对 prompt 中间部分注意力最弱。塞太多半相关 chunk 反而会分散模型注意力。

RAG 的已知局限

  1. Recall 问题——该想起来的没想起来

  2. 噪声——什么都存,检索出半相关内容

  3. 时效性——新旧信息混在一起,无法区分

  4. 无推理能力——只能找直接相关的,不能跨文档推理

  5. Lost in the Middle——注入太多 chunk 时中间部分被忽略

RAG 不是万能的,但它是目前让 LLM 接入外部知识最实用的方案。理解每个环节的 trade-off,才能在生产中做出正确的工程取舍。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 3:54:55

从零开发游戏需要学习的c#模块,第二十九章(经验值与升级系统)

本节课学习内容击杀敌人获得经验值经验条显示在血量条下方经验满了升级,攻击力提升、血量回满升级时屏幕上飘出“LEVEL UP”文字第一步:升级 Player 类打开 Player.cs,在类里加上经验值和升级相关的内容:1. 添加字段:c…

作者头像 李华
网站建设 2026/5/29 3:49:21

刚刚,Code Arena最新放榜,国内AI闯入全球编程前二

转自:新智元就在今天,Code Arena最新榜单出炉!Qwen3.7-Max以1541分闯入全球前四,一举超越了GPT-5.5、Gemini 3.5 Flash等一众顶尖模型。排在它前面的,只剩Claude Opus 4.7和Opus 4.6。换句话说,在全球编程模…

作者头像 李华
网站建设 2026/5/29 3:49:21

多机器人协同探索:MoRoCo框架的技术突破与应用

1. 多机器人协同探索的技术挑战与解决方案在复杂环境下的多机器人协同探索一直是机器人领域的重要研究方向。想象一下,当我们需要在灾难现场、地下洞穴或外星表面进行搜索救援时,单个机器人的能力往往有限。而多机器人系统虽然能提高效率,却面…

作者头像 李华