总体说明
目前,RAG评测领域主流采用RAGAS模块。RAGAS具备完善的评估指标体系,应用广泛,并随着RAG技术的发展持续迭代更新。因此,基于RAGAS进行Ascend适配,可以提升该模块的灵活性和易用性,并且同时增强了对中文的适配能力。其评测流程如下:
支持的评测指标和说明如表1所示。详细指标说明可以参见ragas官网。
指标名 |
作用说明 |
所需参数 |
评测分数说明 |
---|---|---|---|
answer_correctness |
通过结合事实准确性和语义相似度,来衡量模型答案与标准答案之间的正确性。 |
[user_input, response, reference] |
范围:[0, 1],值越大越正确。 该指标关注两方面:
只有既保证内容真实可靠,又能与参考答案意思相匹配,才算“正确”。 得分越高,说明模型输出的答案既真实又语义吻合。 |
answer_relevancy |
用于根据给定问题,评估答案的相关性。如果答案不完整、包含多余或不必要的信息,得分会被扣减。 |
[user_input, response] |
分数范围为0到1,1为最佳。
|
answer_similarity |
用于衡量生成答案与标准答案在语义上的相似程度。该指标通常通过 cross encoder 分数进行量化。 |
[reference, response] |
|
context_precision |
衡量检索到的上下文中相关片段所占比例的指标。它的计算方式是对每个片段的 precision@k 求平均值。precision@k 指的是在前 k 个检索结果中,相关片段数量与总检索数量 k 之比。 |
[user_input, reference, retrieved_contexts] |
范围:[0, 1],值越大越相关。 |
context_recall |
衡量系统成功检索出多少相关文档(或信息片段),重点在于不遗漏重要的内容。召回率越高,说明遗漏的相关文档越少。 |
[user_input, reference, retrieved_contexts] |
范围:[0, 1],值越大越相关。 |
context_entity_recall |
根据参考答案和检索到的上下文中实体的数量来衡量召回率的指标。它计算的是参考答案中的实体,有多少比例在检索到的上下文中也出现了。 |
[reference, retrieved_contexts] |
范围:[0, 1],值越大越相关。 |
context_utilization |
answer和contexts的相关性 |
[user_input, response, retrieved_contexts] |
范围:[0, 1],值越大越相关。 |
faithfulness |
用于衡量系统的回答(response)与检索到的上下文内容(retrieved_contexts)在事实层面上的一致程度。 |
[user_input, response, retrieved_contexts] |
分数范围为0到1,分数越高,表示一致性越好。 |
noise_sensitivity |
衡量系统在使用相关或不相关的检索文档时,因给出错误回答而出错的频率。 |
[user_input, reference, response, retrieved_contexts] |
该指标的分数范围是0到1,数值越低,说明系统性能越好。 |
nv_accuracy |
衡量模型回答与参考标准答案的一致程度。具体方法是采用两条不同的“大模型判官”提示,让每个判官分别对模型的回答进行打分(分数为0、2或4)。然后将这两个评分都转换到[0,1]区间,取二者的平均值作为最终得分。 |
[user_input, response, reference] |
该指标的分数范围是0到1,分数越高,说明模型的回答与标准答案越接近。 |
nv_context_relevance |
用于评估检索到的上下文(片段或段落)是否与用户输入(问题)相关。评估方式是采用两条独立的“大模型判官”提示,让每个判官分别对相关性进行评分(分数为0、1或2)。然后将分数转换到[0,1]区间,并取二者平均值作为最终得分。 |
[user_input, retrieved_contexts] |
该分数的范围为0到1,分数越高,表示检索到的上下文与用户问题的关联性越强。 |
nv_response_groundedness |
衡量模型的回答在多大程度上得到了检索到的上下文的支持。它评估回答中的每一个论断或信息,是否都能在检索到的上下文中完全或部分找到依据 |
[response, retrieved_contexts] |
该分数的范围为0到1,分数越高,表示回答得到检索到的上下文的支持越多。 |