问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

揭开RAG系统的评估面纱:4 大指标助你提升输出质量

创作时间:
作者:
@小白创作中心

揭开RAG系统的评估面纱:4 大指标助你提升输出质量

引用
1
来源
1.
https://www.53ai.com/news/RAG/2024121375039.html

在构建和优化RAG(Retrieval-Augmented Generation)系统时,如何科学地评估其性能是一个关键问题。本文将为您详细介绍RAG系统的四大类评估指标:Groundedness、Completeness、Utilization和Relevance,并通过实际案例展示如何基于这些指标进行系统优化。

1. RAG 的基本组成部分

RAG系统通常由两个主要阶段组成:

1.1 数据摄取(Data Ingestion)

  • 将结构化或非结构化数据转化为适合向量数据库的形式。
  • 数据准备的典型步骤包括清洗、分词、嵌入生成等。
  • 举例:对新闻文章进行分块处理并生成嵌入以便后续检索。

1.2 数据查询(Data Querying)

  • 检索(Retrieval): 从向量数据库中提取与用户查询相关的内容。
  • 合成(Synthesis): 将检索内容与用户查询结合,通过大模型生成最终回答。
  • 应用场景: 包括客户支持、企业知识问答系统等。

2. 如何评估 RAG 的性能

优化RAG系统的关键是定义合适的评估指标,并基于这些指标改进系统设计。

2.1 确定指标

评估RAG系统时常用两类指标:

  • 基于LLM的指标:

  • 通过调用大语言模型(LLM)进行评估,例如利用其判断回答的质量、相关性等。

  • 优点:与人类评价高度相关,适合复杂语言任务。

  • 缺点:结果可能存在一定的不确定性,因LLM输出具有随机性。

  • 非LLM的指标:

  • 依赖传统方法,如字符串相似度、BLEU分数等。

  • 优点:结果确定性强,适合系统开发和早期调试阶段。

  • 缺点:在复杂语言任务上的表现与人类评价相关性较低。

2.2 准备评估数据集

为了评估RAG系统,需要一个高质量的测试数据集,其中包括用户查询与正确答案的匹配对。构建数据集时需注意以下几点:

  • 来源: 数据可以来源于真实用户交互日志,也可以通过人工标注或使用LLM合成。
  • 多样性: 确保问题类型、复杂性和领域的多样性,以测试系统的广泛适用性。
  • 规模: 数据集应包含足够多的样本,以确保评估结果具有统计显著性。
  • 验证: 对于自动生成的数据,需引入人工或其他模型验证环节,确保答案质量。

举例:构建一个企业知识问答数据集,可以从实际客服记录中提取常见问题,并手动或自动生成答案。

3. 评估大模型的输出结果的四大类指标

在评估RAG系统时,之所以需要特别关注大模型输出结果相关的指标,是因为这些指标直接反映了最终用户体验的质量。与基于LLM的指标和非LLM的指标相比,前者更能捕捉复杂语言任务的细微差异,例如回答的依托性和相关性,而后者则擅长提供确定性的基准评估。在2.1部分中,我们已经讨论了这两类指标的优缺点。本节将从更实际的角度出发,通过具体的四大类指标分析如何优化RAG系统的输出质量。

3.1 Groundedness(依托性/真实性)

  • 定义: 检查生成的回答是否基于检索到的上下文,而非凭空生成(幻觉)。
  • 方法:
  • 基于上下文嵌入计算生成回答与原始内容的相似度。
  • 使用LLM自动打分,判断回答是否引用了检索内容。
  • 重要性: 在知识密集型场景(如医学、法律问答)中,确保回答的依托性至关重要。
  • 优化建议: 提升检索内容的质量,同时优化模型的提示词以减少幻觉。

3.2 Completeness(完整性)

  • 定义: 回答是否全面覆盖了用户查询的所有需求。
  • 方法:
  • 基于检索内容与生成回答的覆盖率评分。
  • 使用LLM逐项检查问题中的每个子问题是否得到解答。
  • 重要性: 在需要回答复杂、多步骤问题的场景中尤为关键。
  • 优化建议: 增强检索阶段对多样化内容的覆盖能力,或调整生成策略以综合回答多个维度的问题。

3.3 Utilization(利用率)

  • 定义: 衡量每个检索片段对最终回答的贡献。
  • 方法:
  • 对每个检索内容片段,评估其在最终回答中的体现。
  • 计算检索内容与生成回答的匹配率。
  • 重要性: 高利用率意味着更高效的检索与生成过程,避免资源浪费。
  • 优化建议: 如果利用率低,可以分析无效片段并调整检索策略或嵌入生成方法。
高利用率
低利用率
高完整性
无需操作
低完整性
在这种情况下,返回的数据能够解答问题,但返回了不相关的数据块。考虑降低top-k参数值,以得到更可能/确定性的结果。
高完整性
在这种情况下,你提供的数据块被使用了,但没有完全解答问题。考虑以下几点:• 检查你的分块策略,以增加数据块内的上下文• 增加数据块数量• 评估是否有未返回的数据块可以提高完整性。如果有,调查它们未被返回的原因• 遵循完整性部分的指导
低完整性
在这种情况下,你没有完全回答问题,而且你提供的数据块没有得到很好的利用。考虑以下几点:• 检查你的分块策略,以增加数据块内的上下文。如果使用固定大小的数据块,考虑增加数据块大小。• 调整你的提示以改进回复

3.4 Relevance(相关性)

  • 定义: 回答是否与用户问题直接相关。
  • 方法:
  • 基于嵌入计算回答与问题的相似度。
  • 使用LLM判断回答内容是否聚焦于问题本身。
  • 重要性: 在用户问题较为模糊或检索信息噪声较高时,相关性尤为重要。
  • 优化建议: 优化向量数据库的构建与检索算法,确保返回内容的高相关性。

4. 案例分析:如何用评估指标改进 RAG 系统

假设我们正在优化一个企业知识问答系统:

  • 背景: 用户需要查询公司政策相关信息。
  • 问题: 系统生成的回答偶尔出现虚假信息,或者遗漏关键信息。

通过评估:

  • Groundedness: 检查发现部分回答未引用检索内容,调整提示词以减少幻觉。
  • Completeness: 通过分析未解答的子问题,优化检索阶段的多样性。
  • Utilization: 识别部分低利用率的检索片段,重新生成嵌入或改进分块策略。
  • Relevance: 提升检索算法的精准度,减少噪声内容干扰。

5. 结论

在RAG系统的优化过程中,科学合理的评估指标是成功的关键。通过Groundedness、Completeness、Utilization和Relevance四大类指标,开发者可以多维度地了解系统的性能,并有针对性地进行改进。

未来,随着评估工具的进步与指标的完善,RAG系统的优化将变得更加高效和精准。这不仅有助于提升系统性能,也为更广泛的实际应用奠定了基础。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号