如何合成RAG测试集?
RAG测试集需要包含以下几个方面:
- question(问题):想要评估的RAG的问题;
- ground_truths(真实答案):问题的真实答案;
- answer(答案):RAG预测的答案;
- Contexts(上下文):RAG用于生成答案的相关信息列表;
创建这样的数据集,首先需要生成问题和答案的元组,然后在RAG上运行这些问题已获得预测的结果。
1、生成问题和基准答案(实践中可能会出现偏差)
要生成(问题、答案)元组,我们首先需要准备RAG数据,将其拆分为块,并将其嵌入向量数据库中。完成这些步骤后,我们会指示LLM从指定主题中生成num_questions个问题,从而得到问题和答案元组。
为了从给定的上下文中生成问题和答案,我们需要按照以下步骤操作:
a、选择一个随机块并将其作为根上下文
b、从向量数据库中检索k个相似的上下文
c、将根上下文和其k个相邻上下文的文本连接起来构建一个更大的上下文
d、使用这个大的上下文和num_question在以下的提示模板中生成问题和答案
e、重复以上步骤num_count次,每次改变上下文并生成不同的问题
RAG有哪些评估方法?
主要有两种评估方法来评估RAG的有效性:独立评估和端到端评估;
独立评估
独立评估设计对检索模块和生成模块(即阅读和合成信息)的评估。
生成模块指的是将检索到的文档和查询相结合,形成增强或合成的输入。
评估指标
1、答案相关性(Answer Relevancy)
此指标的目标是评估生成的答案与提供的问题提示之间的相关性。答案如果缺乏完整性或者包含冗余信息,那么其得分将相对较低。这一指标通过问题和答案的结合来进行计算,评分的范围通常在0到1之间,其中高分代表更好地相关性。
2、忠实度(Faithfulness)
这个评价准旨在检查生成的答案在给定上下文中的事实准确性。评估的过程涉及到答案内容与其检索到上下文之间的对比。这一指标也是用一个介于0到1之间的数值表示,其中更好的数值表示答案与上下文之间的一致性更高。
3、上下文精确度(Context Precision)
这一指标评估所有在给定上下文中与基准信心相关的条目是否被正确的排序。理想情况下,所有相关的内容应该出现在排序的前部。这一评价标准同样使用0到1之间的分值来表示,其中较高的得分反应了更高的精确度。
例如命中率(hit rate)、平均排名倒数(MRR)、归一化折扣累积增益(NDCG)、精确度(Precision)
4、答案正确性(Answer Correctness)
该指标主要用于测量生成的答案与实际基准答案之间的匹配程度。这一评估考虑了基准答案和生成答案的对比,其得分也通常在0到1之间,较高的得分表明生成答案与实际答案的一致性更高。
端到端评估
对RAG模型特定输入生成的最终响应进行评估,涉及模型生成的答案与输入查询的相关性和一致性;
- 无标签的内容评估:
评价指标:答案的准确性、相关性和无害性 - 有标签的内容评估:
评价指标:准确率和精确匹配
RAG有哪些关键指标和能力?
评估RAG子啊不同下游任务和不同检索器中的应用可能会得到不用的结果。然而,一些学术和工程实践已将开始关注RAG的通用评估指标和有效运用所需的能力。
- 关键指标:集中于三个关键指标:答案的准确性、答案的相似性和上下文的相关性;
- 关键能力:四项基本能力:抗噪声能力、拒绝无效回答能力、信息综合能力和反事实稳健性;
RAG有哪些评估框架?
在RAG评估框架领域,RAGAS和ARES是比较新的方法。
RAGAS
是一种基于简单手写提示的评估框架,通过这些提示全自动地衡量答案的准确性、相关性和上下文相关性
- 算法原理
1、答案忠实度评估:利用大语言模型(LLM)分解答案为多个陈述,检验每个陈述与上下文的一致性。最终,根据支持的陈述数量与总陈述数量的比例,计算出一个“忠实度得分”;
2、答案相关性评估:使用大语言模型(LLM)创造可能得问题,并分析这些问题与原始问题的相似度。大难相关性得分是通过jisaun所有生成问题与原始问题相似度的平均值得出的。
3、上下文相关性评估:运用大语言模型(LLM)筛选出直接与问题相关的句子,这些句子占上下文总句子数量的比例来确定上下文相关性得分;
ARES
ARES的目标是自动化评价RAG系统上下文相关性、答案忠实度和答案相关性三个方面的性能。ARES减少了评估成本,通过使用少量的手动标注数据与合成数据,并应用于推理提供统计置信区间,提高了评估的准确性。
- 算法原理
1、生成合成数据集:ARES首先使用语言模型从目标语料库中的文档生成合成问题和答案,创还能正负两种样本;
2、训练大语言模型裁判:然后,ARES对轻量级语言模型进行微调,利用合成数据集训练它们以评估上下文相关性、答案忠实度和答案相关性;
3、基于置信区间对RAG系统排名:最后,ARES使用这些裁判模型为RAG系统打分,并结合手动标注的验证集,采用PPI方法生成置信区间,从而可靠地评估RAG系统的性能;