为了比较两个具有不同优势的 RAG 系统——一个擅长检索,另一个擅长生成——需要一种多维评估策略。这种方法应分别评估检索和生成性能,同时衡量它们对最终任务的综合影响。通过结合使用自动化指标、特定于任务的分数和有针对性的人工评估,开发人员可以客观地确定哪个系统更适合其特定用例。
首先,独立评估检索和生成组件。 对于检索,使用诸如 recall@k (在 top-k 结果中检索到多少相关文档)和 precision@k (top-k 结果中有多少是相关的)之类的指标。例如,如果系统 A 检索到 10 个相关文档中的 8 个(recall@10=0.8),而系统 B 仅检索到 5 个(recall@10=0.5),则系统 A 具有明显的检索优势。 对于生成,诸如 ROUGE-L (衡量与参考答案的重叠)或 BERTScore (语义相似性)之类的指标可以量化输出质量。 如果系统 B 生成的答案的 BERTScore 为 0.85,而系统 A 的为 0.70,则突出了系统 B 更强大的生成能力。 分隔这些分数可以明确每个系统的优势所在。
接下来,创建一个组合指标,将检索和生成性能结合起来。根据应用程序的优先级为每个组件分配权重。例如,在事实核查任务中,检索准确性可能会被赋予更高的权重(例如,70% 检索,30% 生成),而创意写作助手可能会优先考虑生成(例如,30% 检索,70% 生成)。计算加权分数,例如 (recall@k * retrieval_weight) + (BERTScore * generation_weight)
。此外,使用端到端任务指标,例如 答案正确性 (完全匹配或人工评分的准确性)来衡量组合系统的工作效果。例如,如果系统 A 强大的检索能力可以带来 QA 任务中更符合事实的答案,那么尽管生成能力较弱,但它可能优于系统 B。
最后,进行基于场景的测试以验证真实世界的性能。使用涵盖边缘案例、模糊查询和特定领域任务的多元化测试数据集。跟踪诸如 延迟 (响应时间)和 失败率 (系统返回“我不知道”的错误频率)之类的指标。对于主观任务(例如,撰写产品描述),包括人工评估员来对输出的清晰度、连贯性和相关性进行评分。如果系统 B 卓越的生成能力可以产生更自然的声音响应,但偶尔会出现幻觉,则人工反馈可以量化这种权衡。通过结合自动化指标、加权分数和人工判断,开发人员可以就哪个系统最符合他们的要求做出明智的决定。