INNER 05 / RAG / 08 · ENGINE v1
流式交互应用与 RAG 黄金评估体系(Module 5: RAGStream & RAG Evaluation)
本关练习:设计 RAG 线上质量诊断矩阵与 Streamlit 调试面板。
30 SECONDS / 30 秒看懂
这一关只解决一件事:在 StepByStep-RAG 的第五模块 RAGStream 中,我们将后台 RAG 引擎封装为支持自定义文档上传、实时分块预览与打字机流式输出(Streaming)的 Streamlit 交互式 Web 应用。而要让客戶心甘情愿为你的 RAG 系统买单,还必须掌握 RAG Zero to Hero Guide 中的 RAG Triad(RAG 黄金评估三元组): 上下文相关性(Context Precision / Recall):衡量【检索器好不好】——检索出来的片段里,真正有用的信息占比高不高、有没有漏掉关键标准答案依据?
- 构建包含【Context Recall 低 vs. 高】与【Faithfulness 低 vs. 高】的 4 类故障现象诊断与对应修复方案矩阵;
- 参照 RAGStream.py 架构,列出在 Streamlit 界面侧边栏或折叠面板(st.expander)中应向用戶展示的 3 项透明化调试信息;
- 设计一条用于自动评测 Faithfulness(忠实度)的 LLM-as-a-Judge 裁判提示词(
3 MINUTES / 3 分钟拆解
先看来源里的例子:PDF 本关任务(来源)
你交付给律所客戶的合同知识库系统上线后,客戶反馈有 15% 的问题回答不满意,你需要快速定位到底是“分块检索出了问题”还是“大模型生成提示词出了问题”。
发生了什么
来源要求:构建包含【Context Recall 低 vs. 高】与【Faithfulness 低 vs. 高】的 4 类故障现象诊断与对应修复方案矩阵; / 参照 RAGStream.py 架构,列出在 Streamlit 界面侧边栏或折叠面板(st.expander)中应向用戶展示的 3 项透明化调试信息; / 设计一条用于自动评测 Faithfulness(忠实度)的 LLM-as-a-Judge 裁判提示词(
输出
参考答案:参考答案:RAG 线上故障四象限诊断矩阵与 Streamlit 调试面板评估指标组合表现线上典型故障现象与根因定位针对性工程修复方案 Context Recall 低 Faithfulness 高模型老实回答“资料中未提及”, 但其实知识库某页明明有答案 (检索层漏召回) 优化分块策略与章节面包屑注入;引入 BM25+向量混合检索与多轮查询改写(Query Rewrite)。 Context Recall 高 Faithful
术语拆开
- Context Recall
- 该找到的证据有没有被召回。
- Faithfulness
- 回答是否忠实于检索上下文。
为什么有效
来源核心原理:在 StepByStep-RAG 的第五模块 RAGStream 中,我们将后台 RAG 引擎封装为支持自定义文档上传、实时分块预览与打字机流式输出(Streaming)的 Streamlit 交互式 Web 应用。而要让客戶心甘情愿为你的 RAG 系统买单,还必须掌握 RAG Zero to Hero Guide 中的 RAG Triad(RAG 黄金评估三元组): 上下文相关性(Context Precision / Recall):衡量【检索器好不好】——检索出来的片段里,真正有用的信息占比高不高、有没有漏掉关键标准答案依据? 忠实度 / 防幻觉度(Faithfulness / Groundedness):衡量【生成器乖不乖】——模型生成的回答是否 100% 源自检索出的上下文,有没有脱离上下文自由发挥? 答案相关性(Answer Relevance):衡量【端到端答没答对题】——最终生成的回答是否正面、完整地解决了用戶的原始问题?
结构长什么样
构建包含【Context Recall 低 vs. 高】与【Faithfulness 低 vs. 高】的 4 类故障现象诊断与对应修复方案矩阵; 参照 RAGStream.py 架构,列出在 Streamlit 界面侧边栏或折叠面板(st.expander)中应向用戶展示的 3 项透明化调试信息; 设计一条用于自动评测 Faithfulness(忠实度)的 LLM-as-a-Judge 裁判提示词( 5 分)。 全关卡标准
召回很好但回答瞎编,应该先修哪个指标?
SOURCE READING / 来源精读
在 StepByStep-RAG 的第五模块 RAGStream 中,我们将后台 RAG 引擎封装为支持自定义文档上传、实时分块预览与打字机流式输出(Streaming)的 Streamlit 交互式 Web 应用。而要让客戶心甘情愿为你的 RAG 系统买单,还必须掌握 RAG Zero to Hero Guide 中的 RAG Triad(RAG 黄金评估三元组): 上下文相关性(Context Precision / Recall):衡量【检索器好不好】——检索出来的片段里,真正有用的信息占比高不高、有没有漏掉关键标准答案依据?
逐点读懂
- 构建包含【Context Recall 低 vs. 高】与【Faithfulness 低 vs. 高】的 4 类故障现象诊断与对应修复方案矩阵;
- 参照 RAGStream.py 架构,列出在 Streamlit 界面侧边栏或折叠面板(st.expander)中应向用戶展示的 3 项透明化调试信息;
- 设计一条用于自动评测 Faithfulness(忠实度)的 LLM-as-a-Judge 裁判提示词(
怎么对应本关练习
先读 30 秒与 3 分钟拆解,再读本关原文与实验,最后做客观题和实操题;答案在下方。
例子在哪
本关任务与参考答案见页面下方;来源为本册 PDF 对应关卡。
本关先记住:构建包含【Context Recall 低 vs. 高】与【Faithfulness 低 vs. 高】的 4 类故障现象诊断与对应修复方案矩阵;
核心原理
在 StepByStep-RAG 的第五模块 RAGStream 中,我们将后台 RAG 引擎封装为支持自定义文档上传、实时分块预览与打字机流式输出(Streaming)的 Streamlit 交互式 Web 应用。
而要让客戶心甘情愿为你的 RAG 系统买单,还必须掌握 RAG Zero to Hero Guide 中的 RAG Triad(RAG 黄金评估三元组): 上下文相关性(Context Precision / Recall):衡量【检索器好不好】——检索出来的片段里,真正有用的信息占比高不高、有没有漏掉关键标准答案依据?
忠实度 / 防幻觉度(Faithfulness / Groundedness):衡量【生成器乖不乖】——模型生成的回答是否 100% 源自检索出的上下文,有没有脱离上下文自由发挥?
答案相关性(Answer Relevance):衡量【端到端答没答对题】——最终生成的回答是否正面、完整地解决了用戶的原始问题?
第 8 关实操练习题:设计 RAG 线上质量诊断矩阵与 Streamlit 调试面板
任务背景
你交付给律所客戶的合同知识库系统上线后,客戶反馈有 15% 的问题回答不满意,你需要快速定位到底是“分块检索出了问题”还是“大模型生成提示词出了问题”。
通关硬性要求(满分 12.5 分)
1. 构建包含【Context Recall 低 vs. 高】与【Faithfulness 低 vs. 高】的 4 类故障现象诊断与对应修复方案矩阵(6 分);
2. 参照 RAGStream.py 架构,列出在 Streamlit 界面侧边栏或折叠面板(st.expander)中应向用戶展示的 3 项透明化调试信息(4 分);
3. 设计一条用于自动评测 Faithfulness(忠实度)的 LLM-as-a-Judge 裁判提示词(
2.5 分)。 全关卡标准参考答案与代码解析(Answer Key) 以下提供全套 8 关的 Python 核心实现代码、算法公式与工业级配置模板,助你快速落地本地知识库项目。 第 1 关
PRACTICE / 本关练习 · 本地规则 + 覆盖检查
设计 RAG 线上质量诊断矩阵与 Streamlit 调试面板
本地检查在你的浏览器里完成,不上传。覆盖检查需要先登录(免费注册),并把这段答案发送到服务器计算一次,算完即弃、不存档,需你点同意;只核对本关评分项覆盖的方向,不在评分项里的题目不会被检查。
评分项
结构分 — / 12.5 分
查看参考答案与得分点 先自己写,再打开+
参考答案与得分要点
参考答案:RAG 线上故障四象限诊断矩阵与 Streamlit 调试面板评估指标组合表现线上典型故障现象与根因定位针对性工程修复方案 Context Recall 低 Faithfulness 高模型老实回答“资料中未提及”, 但其实知识库某页明明有答案 (检索层漏召回) 优化分块策略与章节面包屑注入;引入 BM25+向量混合检索与多轮查询改写(Query Rewrite)。 Context Recall 高 Faithfulness 低正确片段已被检索出来,但模型仍然胡编数字或张冠李戴(生成层幻觉) 收紧生成 Prompt 护栏;要求先在 <quotes> 摘录原句再作答;调低生成参数 temperature = 0.0。 Context Precision 低 Answer Relevance 低检索出 10 个片段里 8 个是相似废话,把真正答案淹没在中间(排序层失准) 接入 Cross-Encoder Reranker 精排模型,将喂给大模型的上下文严格精简为高分 Top-3。 全局归纳题全面失分问“全年共有多少起合规事故”, Top-K 局部切片无法统计全局 (架构局限) 针对结构化统计接入 Text-to-SQL 工具,针对非结构化宏观总结引入 GraphRAG 社区摘要。 Streamlit 透明化调试面板与忠实度评测指令:在 RAGStream.py 中使用 with st.expander("查看检索证据与分块得分"): 展示 1 改写后的独立查询词、2 命中分块的余弦/Rerank 得分与所属文档页码、3 高亮匹配的原文段落;忠实度裁判 Prompt 要求将回答拆解为独立原子事实句,逐句核验能否由检索片段直接推导,计算 “有据事实句数 / 总事实句数”得出 0‒1 忠实度得分。 得分要点拆解:完整构建四象限诊断与修复矩阵(6 分);列出 Streamlit 界面三大调试透明化要素(4 分); 提供基于原子事实核验的 Faithfulness 裁判逻辑(2.5 分)。
网页永久免费。完整 PDF 会按顺序发给留邮箱的读者,不转售、不群发广告。
留邮箱,获取完整 PDF ↗