为了评估 RAG 系统随时间推移或更新后的性能,建立一个持续评估管道,该管道跟踪检索和生成的关键指标。首先,定义一个基准数据集,其中包含查询、预期的检索文档和参考答案。通过在每次更新后通过系统运行此数据集并将结果与基线进行比较,从而实现自动化测试。跟踪检索指标,如 precision@k(前 k 个检索文档的准确性)、recall@k(相关文档的覆盖率)和平均倒数排名 (MRR) 以检测文档相关性中的退化。对于生成,使用 BLEU、ROUGE 或 BERTScore 等指标针对参考答案衡量答案质量,并使用人工评估来评估连贯性或事实正确性等主观方面。例如,如果更新引入了新的嵌入模型,则 precision@5 的下降可能表明检索问题,而 BERTScore 的下降可能表明答案相关性降低。
接下来,实施影子测试和金丝雀部署以最大限度地降低风险。影子测试使更新后的系统与当前版本并行运行,记录检索和生成输出中的差异,而不影响用户。这有助于识别新组件性能不佳的极端情况。金丝雀部署将更新逐步推广到一小部分用户子集,监控响应延迟、错误率和用户反馈等真实世界的指标。例如,如果检索器更新将延迟增加 30%,您可以暂停推广并进行调查。此外,跟踪特定于领域的指标:医疗 RAG 系统可能会衡量对临床指南的遵守情况,而客户支持工具可能会监控解决率。自动异常检测(例如,“我不知道”响应的突然飙升)可以及早标记问题。
最后,维护一个用于迭代改进的反馈循环。记录用户交互(查询、检索的文档、答案以及点赞/踩踏评级)以创建一个不断增长的评估数据集。定期使用此数据重新训练系统,以适应新的查询模式或知识差距。例如,如果用户始终对有关最近事件的答案进行降级投票,请扩展文档语料库或在更新的数据上微调生成器。使用仪表板(例如,Grafana)可视化检索命中率或答案正确性等指标在数周或数月内的趋势。如果更新导致 MRR 从 0.85 下降到 0.72,请深入研究检索器是否在特定查询类型或文档格式上失败。定期重新审视评估基准以确保它们反映当前的使用案例,并自动执行回归警报以维持系统可靠性。