趋近智
虽然基础指标提供了一个起点,但生产级RAG系统需要更精密的评估方法。简单的衡量标准,例如检索命中率或通用文本生成得分(如BLEU),常常无法反映检索器和生成器之间复杂的配合,也无法衡量答案质量的方面,例如事实一致性以及与用户真实意图的相关性。这就是进阶评估框架发挥作用的地方,它们提供结构化的方法和专业指标,以全面分析和量化RAG性能。这些框架不仅有助于基准测试,而且在找出RAG管道中需要改进的具体地方也很有帮助。
在此方面有两个突出的例子是 RAGAS(检索增强生成评估)和 ARES(自动化RAG评估系统)。虽然两者都旨在让人们对RAG的效用有更全面的认识,但它们解决问题的方式不同,所用的方法论和工具集也不同。定义和整合符合应用独有需求的自定义指标的能力,仍然是成熟评估策略的重要组成部分。
RAGAS是一个开源框架,旨在通过侧重于其核心组成部分:检索和生成的表现来评估RAG管道。它遵循的原则是,RAG系统的质量取决于它获取相关上下文,并忠实地利用该上下文生成准确且相关的答案的能力。RAGAS引入了多项重要指标,其中许多指标都运用大型语言模型作为评估器,以模拟人类判断。
RAGAS中的重要指标包括:
忠实度:这衡量生成答案与所检索上下文的事实一致性。如果答案中所有陈述都可以从提供的上下文中推断出来,则该答案被认为是忠实的。计算通常涉及一个大型语言模型评估答案中的陈述是否得到上下文的支持。低忠实度分数表示生成器可能在“幻觉”或错误理解了检索到的信息。 分数通常计算如下:
答案相关性:此指标评估生成的答案与原始查询的匹配程度。它与忠实度不同,因为一个答案可以忠实于上下文,但与问题无关。答案相关性通常使用大型语言模型进行评估,以估计答案与查询之间的语义相似性或直接性,有时通过从答案生成潜在问题并将其与原始查询进行比较来评估。
上下文精确度:这评估检索到的上下文中的信噪比。检索到的信息块是否真正相关并有助于回答查询?可以提示大型语言模型来确定上下文的每一部分对于形成答案是否真正有价值。高上下文精确度表示检索器正在高效识别有用信息。 (注意:RAGAS的实际实现更为详细,通常会根据判断为回答查询所需的上下文中的句子级别相关性进行考量)。
上下文召回率:这衡量检索器从可用真实数据(或全面知识库)中获取所有必要信息以充分回答查询的程度。在没有针对每个查询明确定义的真实上下文的情况下,这可能很难衡量。一种方法是使用大型语言模型来确定所提供的上下文是否足以回答问题,或将检索到的上下文与“黄金标准”上下文集进行比较。
答案语义相似度:如果提供了真实答案,此指标将比较生成答案与参考答案之间的语义相似度(例如,使用基于嵌入的余弦相似度)。
答案正确性:当提供了真实答案时,这评估生成答案与真实数据的事实正确性。这可以是忠实度的一种更严格的形式,它还考虑外部知识或预定义的正确答案。
RAGAS通常需要诸如查询、生成答案、检索到的上下文等输入,对于某些指标,还需要真实答案或上下文。它的优势在于其针对组件的特定指标,这有助于进行有目的的改进。然而,它依赖大型语言模型作为评估者,这意味着评估可能受到评估模型偏见和不一致性的影响,并且随着大量测试,评估成本会增加。精心设计这些评估用大型语言模型的提示也同样重要。
ARES(自动化RAG评估系统)为RAG评估提供了不同的视角,经常侧重于生成合成评估数据集,并训练大型语言模型评估器以更好地与人类偏好保持一致,其判断还附带置信度分数。目标是构建一个更具可扩展性和可靠性的自动化评估流程,该流程可以推动RAG系统进行迭代式改进。
ARES方法的重要方面通常包括:
合成数据生成:ARES方法学通常涉及创建包含查询、相关上下文以及有时理想答案的合成数据集。这可以通过使用大型语言模型从现有文档中生成问题,或基于知识库创建合理的问答对来实现。这使得即使在没有大量人工标注数据的情况下也能进行评估。
带置信度的大型语言模型评估器:与RAGAS类似,ARES使用大型语言模型来评估上下文相关性、答案忠实度、答案相关性等方面。然而,ARES可能侧重于训练这些评估用大型语言模型,也许通过基于人类反馈的少量样本学习或偏好微调,以改善它们与人类评估者的对齐程度。尤其重要的是,ARES通常纳入机制,让这些大型语言模型评估器在评估的同时输出一个置信度分数。这有助于理解自动化分数的可靠性。例如,低忠实度置信度分数可能标记一个需要人工复核的模糊情况。
迭代评估与改进:该框架旨在支持一个迭代循环:评估RAG系统,根据指标和置信度分数找到不足之处,进行有针对性的改进(例如,微调检索器或生成器,调整提示),然后重新评估。
ARES评估的核心指标(上下文相关性、答案忠实度、答案相关性)与RAGAS中的相似,但获取这些分数的方法,特别是通过可能经过训练的评估器和使用合成生成数据,标志着一个不同之处。
类似ARES方法学的优势在于其在测试用例生成方面的更大自动化潜力,以及更细致、考虑置信度的判断。然而,合成数据生成和大型语言模型评估器训练的初始设置可能更复杂。合成数据的质量也是一个非常重要的因素;如果它不能反映使用模式,评估结果可能不具代表性。
以下图表展示了这些进阶评估框架的信息总体流程:
RAG评估框架的输入和输出总体流程。可选输入用虚线表示。
虽然RAGAS和ARES等框架提供了出色的基础指标,但它们可能无法涵盖与您的特定应用或业务目标相关的所有方面。生产RAG系统通常需要根据其独有的运行场景和预期结果来定制指标。
在以下情况下,可以考虑开发自定义指标:
在创建自定义指标时,明确定义该特定方面的“良好”标准是什么。确定如何衡量它,理想情况下以自动化或半自动化方式。这可能涉及基于规则的检查、关键词识别、模式匹配,甚至为特定评估任务训练更小、更专业的模型。平衡指标的复杂性与其实用性,以及实施和维护所需的工作量。
最有效的评估策略通常涉及结合现有框架和自定义开发的指标。您可以从RAGAS或类似ARES的设置开始,以涵盖检索和生成质量的基本方面。然后,叠加解决您的应用独有需求的自定义指标。
这种分层方法让您可以从现有框架的标准化、经过充分研究的指标中获益,同时确保您的评估全面体现RAG系统的特定成功标准。目标是构建一个全面的指标仪表板,它能提供系统性能的整体视图,使您能够就优化和持续开发做出明智的决策。
多个开源库和工具可以帮助实施这些评估策略。例如,ragas库直接实现了RAGAS指标。LlamaIndex和LangChain包含可支持类似ARES评估流程和各种RAG特定指标计算的工具。DeepEval是另一个提供了一套用于大型语言模型应用(包括RAG)评估器和指标的库。在选择工具时,请考虑它们的灵活性、与现有MLOps管道的集成便捷性,以及对您计划实现指标类型的支持。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造