M5-073M5: NLP & Large Language ModelsRAG End-to-End ArchitectureEasy
Mastery:
RAG End-to-End Architecture: 描述一个完整 RAG 系统的组成。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 索引(切分+嵌入+建库)、检索(召回+重排)、生成(上下文拼接+生成)、以及评估与监控。
📌 Key Takeaways
- •离线索引:切分 → 嵌入 → 建向量库(+ 元数据)
- •在线检索:查询改写 → 召回(稠密/稀疏/混合)→ 重排
- •生成:上下文拼接 + 生成 + 引用;以及评估与监控
📐 Mathematical Derivations
数学机理:<strong>完整 RAG 系统的组件</strong>。<strong>离线索引阶段</strong>:(1) <strong>文档解析</strong>——从 PDF/HTML/数据库抽取文本(含表格/图片的处理);(2) <strong>切分(chunking)</strong>——把长文档切成合适大小的片段(见 chunking 题);(3) <strong>嵌入(embedding)</strong>——用嵌入模型把片段编码为向量;(4) <strong>建索引</strong>——存入向量数据库(如 FAISS/Milvus/pgvector),并保留元数据(来源、时间、章节)与稀疏索引(BM25)。<strong>在线检索阶段</strong>:(5) <strong>查询处理</strong>——改写/扩展查询(HyDE、多查询生成)、意图识别;(6) <strong>召回(retrieval)</strong>——用稠密(向量相似度)、稀疏(BM25)、或<strong>混合</strong>检索召回 top-k 候选;(7) <strong>重排(reranking)</strong>——用交叉编码器(cross-encoder)对候选精排(比向量检索更准但更慢);(8) <strong>上下文组装</strong>——按相关性排序、去重、裁剪到上下文预算(注意 lost-in-the-middle:重要的放首尾)。<strong>生成阶段</strong>:(9) <strong>生成</strong>——把检索到的片段 + 查询 + 指令拼成 prompt 交给 LLM 生成;(10) <strong>引用与校验</strong>——要求模型给出引用(便于核查)、检测幻觉(回答是否被证据支持)。<strong>支撑组件</strong>:(11) <strong>评估</strong>——检索指标(Recall@k、MRR、NDCG)+ 生成指标(忠实度、答案相关性)+ 端到端指标;(12) <strong>监控与迭代</strong>——线上指标(点击、满意度)、失败案例分析、数据更新(增量索引)。<strong>关键设计选择</strong>:(a) 切分粒度(影响召回与上下文质量);(b) 检索方式(稠密/稀疏/混合);(c) 是否重排;(d) 上下文长度与位置安排;(e) 是否自适应检索(按需检索)。<strong>与'长上下文'的关系</strong>——RAG 是'按需取用'(成本 ∝ 检索片段),长上下文是'全量塞入'(成本 ∝ 全文档);两者互补(见后续题)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'最易出错的是检索'</strong>——生成质量的上限由检索质量决定('garbage in, garbage out');若相关文档没被召回,再强的 LLM 也无法正确回答。故<strong>检索指标(Recall@k)是首要监控项</strong>。② <strong>'切分粒度'是核心超参</strong>——太细则片段缺上下文(语义不完整);太粗则噪声多、占用上下文;实践中常用'递归切分 + 重叠'(如 512 token + 50 重叠),并可用'语义切分'(按段落/标题)。③ <strong>'混合检索 + 重排'是当前最佳实践</strong>——稠密检索擅长语义、BM25 擅长精确匹配(术语、编号);两者融合(RRF)再重排可显著提升召回与精度。④ <strong>'上下文组装'的细节</strong>——(a) <strong>去重</strong>(多片段可能重复);(b) <strong>排序</strong>(把最相关的放首尾,对抗 lost-in-the-middle);(c) <strong>压缩</strong>(用模型摘要/抽取关键句,减少 token)。⑤ <strong>'评估'的双层结构</strong>——检索层(Recall/Precision)与生成层(忠实度/有用性)需分开评估,才能定位问题在检索还是生成。⑥ <strong>面试要点</strong>——被问'RAG 系统怎么搭',应给出'<strong>离线索引(解析/切分/嵌入/建库)+ 在线检索(改写/召回/重排/组装)+ 生成(+引用校验)+ 评估监控</strong>'的完整链路,并强调'<strong>检索质量决定上限</strong>'与'<strong>混合检索 + 重排是最佳实践</strong>';这是 RAG 类问题的基本盘。
⚠️ Common Interview Pitfalls
- ✕只优化生成而忽略检索质量
- ✕不做重排直接用向量检索的 top-k
🎯 Interviewer Follow-ups
- ?RAG 与长上下文的取舍?
- ?RAG 最易出错的环节是哪个?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.