
基于 LangSmith Traces 的 RAG 分层评测方案本方案基于 LangSmith 原生 Trace 数据结构遵循分层解耦、全链路可追溯、指标可量化的原则将 RAG 评测拆解为检索层、生成层、端到端层三个层级直接从线上 Traces 中提取数据完成指标计算同时支持结合黄金标注集做深度质量评估。权威来源LangSmith Trace 数据结构、Evaluator 能力参考官方文档https://docs.smith.langchain.com/observability/traceshttps://docs.smith.langchain.com/evaluation/evaluators/faithfulness一、前置基础RAG 链路 Trace 埋点规范所有分层评测的前提是埋点标准化确保 Traces 可分层、可关联、字段完整。基于 LangChain 搭建的 RAG 链路需遵循以下埋点约定链路节点命名规范run_type核心输出字段标签/元数据全链路顶层rag_main_chainchainanswer最终回答tags:[rag,end2end]metadata:prompt_version、kb_version、business_line、model_name检索节点knowledge_retrieverretrieverdocuments召回片段列表每个片段含page_content、metadata、scoretags:[rag,retrieval]生成节点answer_generation_llmllmgenerations[0].text生成回答tags:[rag,generation]数据关联逻辑通过trace_idparent_run_id关联同一请求的各层 Run确保检索、生成、端到端指标对应同一条查询避免数据错位。二、分层评测体系按链路节点拆解1. 检索层评测基于 Retriever Run对应 Trace 节点run_type retriever或name knowledge_retriever核心提取字段inputs.query用户查询、outputs.documents召回片段列表、片段相似度score、duration耗时、error异常信息评测分为两类无标注运营指标直接从线上 Trace 统计和有标注质量指标结合黄金测试集。1无标注运营指标无需标注直接计算指标计算公式业务意义平均召回片段数avg(doc_count) 所有Run召回片段总数 / 总Run数监控 TopK 配置稳定性排查召回为空/过量异常零召回率零召回Run数 / 总Retriever Run数衡量无答案场景占比对应知识库覆盖缺口低分召回占比最高相似度得分 阈值默认0.6的Run数 / 总Run数预判召回质量整体水位低分占比升高意味着检索质量漂移检索延迟 TP50/TP90/TP99所有 Retriever Run 的duration分位值检索性能核心指标检索错误率出现异常的Retriever Run数 / 总Run数衡量检索服务稳定性2有标注质量指标结合 Golden Set将 Trace 中的 query 与黄金标注集每条 query 标注标准相关片段 ID匹配计算信息检索标准指标RecallK召回的相关片段数 / 全部相关片段总数PrecisionK召回的相关片段数 / KNDCGK归一化折损累计增益衡量排序质量MRR平均倒数排名衡量首个相关结果的位置LangSmith 落地方式离线批量通过langsmith.Client按标签过滤拉取 Retriever Run导出 documents 与 score离线匹配标注集计算指标在线自动将黄金集上传至 LangSmith Datasets配置检索评估器自动批量输出质量指标2. 生成层评测基于 LLM Run对应 Trace 节点run_type llm且name answer_generation_llm核心提取字段inputs.messages提取 system prompt、检索上下文 context、用户 query、outputs.generations[0].text生成回答、prompt_tokens/completion_tokens、duration核心评测指标指标计算逻辑LangSmith 落地方式忠实度Faithfulness回答中可被检索上下文支撑的原子事实占比直接调用 LangSmith 内置FaithfulnessEvaluator传入 context 与 answer自动输出 0-1 得分幻觉率1 - 忠实度得分基于忠实度得分直接计算指令遵循率输出符合 Prompt 约束格式、字数、引用标记等的比例自定义 Evaluator通过规则或 LLM 裁判校验格式、关键字、约束条件虚假引用率回答中标注但上下文不存在的引用占总引用数的比例自定义 Evaluator 匹配引用标记与上下文来源平均 Token 消耗总token数 / 总LLM Run数直接从 Trace 的usage字段统计核算推理成本生成延迟 TP50/TP90LLM Run 的duration分位值直接统计耗时字段说明内置 FaithfulnessEvaluator 基于原子事实拆解逻辑实现与 RAGAS 忠实度计算逻辑对齐是生成层评测的核心基准工具。3. 端到端层评测基于顶层 Chain Run对应 Trace 节点name rag_main_chain最顶层 RAG 链路核心提取字段inputs.query、outputs.answer、duration全链路耗时、error、用户feedback点赞/点踩核心评测指标指标计算逻辑业务意义端到端响应时间 TP50/TP90顶层 Chain Run 的duration分位值用户体验核心指标包含检索生成工程链路总耗时端到端错误率顶层 Run 出现异常的比例系统可用性核心指标业务解决率方式1用户正向反馈数 / 总反馈数 方式2结合黄金集回答正确的 query 占比最终业务价值指标拒答准确率知识库外问题中模型正确拒答的比例边界控制能力需结合边界问题标注集计算用户负反馈率用户点踩/差评的对话占比线上真实质量的最终体现三、工程化落地路径1. 定时批量离线评测日常质量监控数据拉取通过 LangSmith Python SDK按时间窗口、业务线标签拉取全量 Traces分层计算检索层统计召回分布、零召回率、延迟、错误率生成层调用 FaithfulnessEvaluator 批量计算忠实度端到端统计全链路耗时、错误率、反馈率输出报告按日/周输出质量报表对比版本基线识别质量漂移下钻定位指标异常时按业务线、Prompt 版本、知识库版本维度下钻定位问题层级2. 在线自动评估实时质量门禁将高频业务 query、边界问题集同步到 LangSmith Datasets配置自动评估器忠实度、相关性、格式合规每次 RAG 调用后自动打分设置阈值告警忠实度低于 0.8、零召回率高于 5% 等场景自动触发告警灰度发布场景实时对比新旧版本的分层指标触发劣化自动回滚3. Bad Case 闭环沉淀自动筛选低得分、负反馈、异常的 Trace 进入 bad case 库人工复核根因标注问题类型检索漏检/生成幻觉/知识库缺失定期将典型 bad case 补充进 Golden Set迭代评测集覆盖度四、关键注意事项埋点一致性是前提检索节点必须完整输出召回片段与相似度分生成节点必须保留原始上下文否则无法计算忠实度等核心指标评估器需提前校准内置/自定义 LLM 评估器需先用人工标注集校准Cohen’s Kappa 系数 ≥ 0.75 方可批量使用避免数据泄露用于评测的黄金集不能与知识库内容高度重合否则指标虚高无法反映真实线上效果多维度下钻定位不要只看整体指标按业务线、问题类型、难度、版本分层下钻精准定位瓶颈在检索还是生成