使用RAGAs + LlamaIndex进行RAG评估

本文介绍了使用RAGAs和LlamaIndex来评估检索增强生成(RAG)系统的性能,重点关注Faithfulness、Answer Relevance、Context Relevance等指标。通过这些指标,可以分析RAG在生成答案时对上下文的依赖性、答案的相关性以及检索上下文的质量。文章还展示了如何构建评估数据集和实施评估过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:Using RAGAs + LlamaIndex for RAG evaluation

2024 年 2 月 5 日

如果您已经为实际的业务系统开发了检索增强生成(Retrieval Augmented Generation, RAG)应用程序,那么您可能会关心它的有效性。换句话说,您想要评估RAG的性能。

此外,如果您发现您现有的RAG不够有效,您可能需要验证先进的RAG改进方法的有效性。换句话说,您需要进行评估,看看这些改进方法是否有效。

在本文中,我们首先介绍了由RAGAs(检索增强生成评估)提出的RAG的评估指标,这是一个用于评估RAG管道的框架。然后,我们解释了如何使用RAGAs + LlamaIndex实现整个评估过程。

RAG评价指标

简单地说,RAG的过程包括三个主要部分:输入查询、检索上下文和LLM生成的响应。这三个要素构成了RAG过程中最重要的三位一体,并且是相互依存的。

因此,可以通过测量这些三元组之间的相关性来评估RAG的有效性,如图1所示。

img

图1:RAG的有效性可以通过测量这些三元组之间的相关性来评估。

论文总共提到了3个指标:忠实度、答案相关性和上下文相关性,这些指标不需要访问人工注释的数据集或参考答案。

此外,RAGAs网站引入了另外两个指标:上下文精度和上下文召回。

Faithfulness/Groundedness

Faithfulness指的是确保答案是基于给定的上下文。这对于避免错觉和确保检索到的上下文可以用作生成答案的理由非常重要。

如果分数低,则表明LLM的回答不符合检索到的知识,提供幻觉答案的可能性增加。例如:

img

图2:高Faithfulness答案和低Faithfulness答案。来源:https://docs.ragas.io/en/latest/concepts/metrics/faithfulness.html。

为了估计信度,我们首先使用LLM提取一组语句,**S(a(q))**。方法是使用以下prompt:

1
2
3
Given a question and answer, create one or more statements from each sentence in the given answer.
question: [question]
answer: [answer]

在生成**S(a(q))之后,LLM确定是否可以从c(q)**中推断出每个语句si。此验证步骤使用以下prompt执行:

1
2
3
4
5
Consider the given context and following statements, then determine whether they are supported by the information present in the context. Provide a brief explan ation for each statement before arriving at the verdict (Yes/No). Provide a final verdict for each statement in order at the end in the given format. Do not deviate from the specified format.

statement: [statement 1]
...
statement: [statement n]

最终的忠实度得分**F计算为 F = |V|/|S|** &

### RAGAS 和 LLAMA INDEX 的对比分析 #### 定义与背景 Ragas 是一种用于评估检索增强生成(Retrieval-Augmented Generation, RAG)系统的框架,专注于通过自动化指标衡量模型性能[^1]。它提供了多种预定义的评估标准,能够帮助开发者快速验证其检索模块的有效性和生成质量。 相比之下,LlamaIndex 是由 Llamacpp 社区开发的一个工具集,旨在简化大语言模型的应用构建过程。该库支持高效的数据索引、查询处理以及上下文管理功能,特别适合于长文档或复杂数据结构的任务场景。 #### 功能特性比较 ##### 数据处理能力 - **Ragas**: 主要关注的是如何优化和测试现有的检索机制,而不是直接参与原始数据转换或者存储操作。因此,在涉及大规模非结构化资料时可能需要额外集成其他解决方案来完成前期准备工作。 - **LlamaIndex**: 提供了一套完整的 API 来实现从导入文件到建立向量数据库整个流程的一体化解法。这使得即使是初学者也能轻松上手创建属于自己的知识图谱应用实例。 ```python from llama_index import SimpleDirectoryReader, GPTListIndex documents = SimpleDirectoryReader('data').load_data() index = GPTListIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("What is the capital of France?") print(response) ``` ##### 性能表现 - **Ragas**: 更倾向于作为辅助角色存在,即通过对已部署好的系统进行持续监控从而发现潜在瓶颈所在之处并给出改进建议。由于本身并不承担实际业务逻辑执行工作所以运行效率相对较高。 - **LlamaIndex**: 需要考虑更多维度上的因素比如内存占用情况、响应时间长短等等。尽管如此官方团队一直在努力改进算法设计力求达到最佳平衡状态以满足各类用户需求。 #### 使用场景建议 对于那些希望深入研究自己所搭建平台各项技术指标变化趋势的研究人员来说 Ragas 显然是更好的选择;而对于期望尽快将创意转化为产品原型的企业家而言,则可以优先考虑采用更加全面易用的 LlamaIndex 工具包。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值