
你兴冲冲地把 chunk 大小从 300 调到 500感觉「好像变好了」——但真的变好了吗还是错觉没有一把尺子你永远在凭感觉打转。RAG 优化的第一性原理是先能度量才谈得上改进。今天我们先造出这把尺子评估再用它验证两个最有效的升级动作——混合检索和重排。学完你就从「凭感觉调参」升级成「用数字驱动」。01RAG 分两段评估也分两段回忆 006RAG 检索生成。这两段会各自出错得分开评环节失败长什么样怎么量检索压根没找到该用的资料巧妇难为无米之炊命中率 Hit Rate、召回 Recallk、MRR生成资料对了但答案跑偏或编造忠实度 Faithfulness、答案相关性 Answer Relevancy 先诊断再下药分开评估的意义在于定位病根如果检索命中率就很低那再强的模型也救不回来——该去改切块/检索如果检索没问题但忠实度低那是 prompt 或模型的问题——去改生成。不分段你连该修哪儿都不知道。02评估检索先攒一份「金标准」评估的前提是有一份评估集golden set一批问题以及每个问题「本应命中」的文档。几十条人工标注即可起步。基于 009 的 Chroma 库每段有 id命中率就是一段简单代码# 复用 009 的 kbChroma collection。金标准问题 → 应命中的文档 id GOLD [ { q : 生鲜能退吗 , want : a2 }, { q : 退款几天到账 , want : a3 }, { q : 什么时候发货 , want : d1 }, ] def hit_rate (k 3 ): hits 0 for item in GOLD: got kb.query(query_texts[item[ q ]], n_resultsk)[ ids ][ 0 ] hits (item[ want ] in got) # 命中的正确文档在 top-k 里就算 1 分 return hits / len (GOLD) print ( fHit3 {hit_rate():.0%} ) # 例如 Hit3 67%∑ 三个常用检索指标Hit Ratek正确文档出现在 top-k 里的比例0/1最直观。Recallk一个问题有多个相关文档时top-k 命中了其中几成。MRR平均倒数排名正确文档排在第 1 名给 1 分、第 2 名给 1/2、第 3 名给 1/3……——不仅关心「找没找到」还关心「排得够不够靠前」。03评估生成让「AI 当裁判」LLM-as-judge生成质量没有标准答案可对比怎么打分主流做法是LLM-as-judge——请一个模型当裁判。最重要的一把尺子是忠实度Faithfulness答案里的每句话是不是都能在检索到的资料里找到依据这直接量化了「有没有幻觉」。import anthropic client anthropic.Anthropic() def judge_faithful (question, context, answer): prompt ( 你是严格的评审。判断【答案】是否完全由【资料】支撑、没有编造。\n 只回复一个词YES完全有据或 NO含无据/编造内容。\n\n f资料\n{context}\n\n问题{question}\n\n答案{answer} ) resp client.messages.create( model claude-opus-4-8 , max_tokens 10 , messages[{ role : user , content : prompt}], ) verdict next (b.text for b in resp.content if b.type text ).strip().upper() return verdict.startswith( YES )另一把常用尺子是答案相关性Answer Relevancy答案切不切题、有没有答非所问同样可以让裁判打 1~5 分。把这些分数在整个评估集上一平均你就有了一块能对比不同版本的「仪表盘」。⚠️ 裁判也会看走眼LLM-as-judge 又快又便宜但不是真理。务必① 用比被测更强的模型当裁判② 给裁判清晰的评分标准和示例③人工抽检一部分裁判结果校准它是否可信。把它当「自动化初筛」而非「终审法官」。04提分利器一混合检索向量 关键词纯向量检索008/009擅长「语义相近」但有个短板专有名词、编号、代码、精确字符串它常常抓不住。你搜「订单号 SF12345」向量觉得它和一堆「订单相关」的话都挺像却未必能精准锁定那一条。**混合检索Hybrid Search**把两种检索的结果融合向量检索语义懂「意思相近」如「重置密码」↔「忘记口令」。关键词检索如 BM25字面懂「精确匹配」如「SF12345」「log4j」「第 7 条」。两路各取所长用 **RRFReciprocal Rank Fusion倒数排名融合**之类的方法把两个排名合成一个。很多向量库/框架已内置混合检索一个开关的事。 一句话向量检索管「意思像」关键词检索管「字面对」。真实问题两种都有所以混合检索几乎总比单用一种更稳——这是性价比最高的一次升级。05提分利器二重排Rerank检索为了快用的是「双塔」式的近似匹配问题、文档各自编码后比距离召回快但不够精。重排的思路是「粗召回 精排序」两段式重排器reranker通常是个cross-encoder把「问题 候选文档」一起喂进模型算一个精准的相关分。它比双塔准得多但慢——所以只用它给粗召回的一小批候选精排。代码只多几行# pip install sentence-transformers from sentence_transformers import CrossEncoder reranker CrossEncoder( cross-encoder/ms-marco-MiniLM-L-6-v2 ) def retrieve_rerank (q, k 3 , pool 20 ): cand kb.query(query_texts[q], n_resultspool)[ documents ][ 0 ] # ① 粗召回 20 条 scores reranker.predict([(q, c) for c in cand]) # ② 逐条精排打分 order sorted ( range ( len (cand)), key lambda i: -scores[i]) return [cand[i] for i in order[:k]] # ③ 取精排后的 top-306把它跑成一个闭环数字驱动优化有了尺子和两个升级动作正确的工作方式是一个迭代闭环1建评估集攒一批有代表性的真实问题 金标准答案/应命中文档。2跑基线先测出当前系统的 Hitk 与忠实度记下来当对照。3只改一个变量比如「加重排」或「换混合检索」——一次只动一处。4重跑评估、看分数分数涨了就留下没涨/退步就回滚。用数字说话。eval.py — 对比实验$ python eval.py ━━ 基线纯向量 top-3━━ Hit3 0.67 忠实度 0.80 ━━ 重排粗召回20 → 精排3━━ Hit3 0.92 ▲ 0.25 忠实度 0.93 ▲ 0.13 ✅ 重排带来明显提升采纳。关键纪律一次只改一个变量。同时改切块、换嵌入、又加重排分数变了你也不知道是谁的功劳——科学实验的基本功在这里同样适用。07常见坑⚠️ 评估里最容易翻车的地方①评估集不代表真实问题都是你自己顺手编的、太简单分数虚高上线现原形。要收集真实用户问题覆盖长尾和刁钻情况。②只看平均分均值会掩盖灾难性坏例。一定要翻出得分最低的几条逐个看——真正的洞察都在坏例里。③裁判偏见LLM 裁判可能偏爱长答案、或偏爱和自己风格像的答案。抽检 明确评分标准来对冲。④评估集泄漏进 prompt别把金标准答案不小心塞进上下文那是自欺欺人。08今日小测验Q1 为什么 RAG 评估要把「检索」和「生成」分开评**答**为了定位病根。检索没找对再强的模型也答不好该去改切块/检索检索对了但答案跑偏/编造那是生成层(prompt/模型)的问题。不分段就不知道该修哪儿。Q2 忠实度Faithfulness衡量的是什么它对应哪个老毛病**答**衡量答案里的每句话是否都能在检索到的资料中找到依据。它直接量化「有没有幻觉」——忠实度低 模型在编造资料没说的内容。Q3 混合检索为什么常比纯向量检索更稳**答**向量擅长语义相近但不擅长精确匹配编号、专名、代码关键词(BM25)正好相反。混合把两路结果融合各取所长覆盖更全。Q4 重排为什么要「先粗召回再精排」而不直接用重排器搜全库**答**重排器是 cross-encoder把问题文档一起算准但慢无法对全库每条都跑。所以先用快的向量检索粗召回一小批(如 top-50)再用重排器只对这批精排——快与准兼得。学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%免费】