通过 3 个简单的步骤使用 RAGAS 评估您的 RAG 应用

小夏 科技 更新 2024-02-26

在LLM和聊天机器人的世界里,幻觉是我们最常遇到的问题。 幻觉通常通过两种常用的技术来处理,这些技术针对特定任务进行了微调。

检索增强生成。

在这两个选项中,RAG系统更受个人欢迎。 但是,在构建 RAG 应用程序时,有许多选项可供选择,如图 1 所示

如您所见,在构建 RAG 应用程序时,有很多选项可供选择。 但是,更重要的是选择适合您最佳需求的一种。 这里有一个很棒的框架 - RAGAS:用于评估基于 RAG 的应用程序的检索增强生成的自动评估。 这侧重于指标驱动开发 (MDD),以提高 RAG 应用程序的性能

注意:我们将使用 Open AI 的 GPT-4 来评估准备好的数据,确保您准备好了 Open AI API 密钥)使用首选的包管理器安装包。在这里,我使用 pip 来安装和管理依赖项。

pip install -u -q ragas tqdm datasets
导入已安装的软件包。
from ragas.metrics import ( answer_relevancy, faithfulness, context_recall, context_precision, context_relevancy, answer_correctness, answer_similarity)from ragas.metrics.critique import harmfulnessfrom ragas import evaluate
假设您已经有要评估的数据,如果没有,请使用以下示例数据。 ( 可选 )。
git clone sample_ragas_dataset
使用从 Open AI Platform Dashboard 复制的 API 密钥设置 API 密钥环境变量。 在这里,我通过 colab secret 传递变量。 因此,在运行设备之前,请确保已将 API 密钥值分配给密钥变量。
import osfrom google.colab import userdataos.environ["openai_api_key"] = userdata.get('openai_api_key')
在这里,我从 json 文件加载数据。
from datasets import load_datasetragas_dataset = load_dataset('json', data_files='data.json')data = ragas_dataset['train']
使用从 ragas 导入的指标评估包含列的数据集; 问题、答案、背景和基本事实。
result = evaluate( data, metrics=[ context_precision, faithfulness, answer_relevancy, context_recall, context_relevancy, answer_correctness, answer_similarity ],raise_exceptions=false)print(result)
我对示例数据集的评估结果如下:
使用 Plotly 将计算出的指标结果可视化为雷达图。 (如果您觉得其他剧集可能是本集固有的,请发表评论。 
import plotly.graph_objects as godata = fig = go.figure()fig.add_trace(go.scatterpolar( r=list(data.values())theta=list(data.keys())fill='toself', name='ensemble rag'))fig.update_layout( polar=dict( radialaxis=dict( visible=true, range=[0, 1] )showlegend=true, title='retrieval augmented generation - evaluation', width=800,)fig.show()
用于可视化 RAG 评估指标的出色雷达图。

Ragas 官方文档:

google colab:

原文链接:点赞并关注二师兄谈话了解更多信息,并阅读我的简短技术文章。

相似文章

    如何为您的网站评估和选择正确的HTTPS身份验证级别!

    在评估和选择适合您的 HTTPS 认证级别时,需要考虑以下几个因素 .类型和用途 您需要知道的第一件事是您的类型和用途。如果您只需要提供基本信息呈现和 那么较低级别的 https 身份验证可能就足够了。但是,如果您正在处理敏感的用户信息 例如付款 登录等 则更高级别的 HTTPS 身份验证更合适。....

    通过HTTPS身份验证保护您的客户数据免遭盗窃!

    使用 HTTPS 身份验证可确保客户数据在传输过程中不会被盗。以下是 HTTPS 身份验证如何保护客户数据的几个关键方面 .数据加密 HTTPS使用SSL TLS协议对数据进行加密,以确保数据在传输过程中不会被黑客和窃听者窃取或篡改。这意味着即使有人拦截了数据包,也无法解密其内容。.身份验证 HTT...

    如何将 iCloud 用于您的个人云存储解决方案

    iCloud 是 Apple 提供的一项云存储服务,可让您随时随地访问您的个人数据,例如电子邮件 笔记 文档等。以下是使用 iCloud 的基本步骤 第 步 登录 iCloud 首先,您需要使用Apple ID登录iCloud。如果您还没有 Apple ID,您可以在 Apple 的官方 登录后,i...

    如何通过HTTPS身份验证保护您的网站免受DDoS攻击!

    使用 HTTPS 身份验证可以提供一些保护,但它主要用于加密数据传输,而不是针对 DDoS 分布式拒绝服务 攻击的特定防御。但是,这里有一些方法可以增强您对 DDoS 攻击的 防御 HTTPS 身份验证 .增加网络带宽 DDoS 攻击通常会通过发送大量请求来使目标 的服务器过载,从而导致服务不可用。...

    解决常见平板,给您流畅体验

    平板电脑作为一种极其便携和多功能的电子设备,在我们的生活中发挥着越来越重要的作用。但是,随着使用时间的增加,我们不可避免地会遇到平板电脑的一些问题,例如卡顿 电池寿命缩短等。今天,我们将解决一些常见的平板电脑问题,并提供一些有效的处理方法,以便您可以继续享受平板电脑带来的便利和乐趣。首先,我们来处理...