RAGAS测评框架实战

RAGAS框架测试实战-20260729@TOC

1.创建项目目录、创建虚拟环境、安装依赖包

1)创建目录、创建虚拟环境并生效

# 创建一个目录 mkdir ragas_test # 创建虚拟环境 python -m venv .venv # 让虚拟环境生效 source .venv/bin/activate # 确认是否是你当前的文件夹下的虚拟环境生效了 echo $VIRTUAL_ENV

2)安装依赖包

# 创建个放安装依赖目录的文件 vim requirments.txt # 将下面的核心依赖放置到该txt里 # 执行这个txt让它安装
# 核心依赖(必须严格指定版本) ragas==0.4.3 langchain==1.2.10 langchain-core==1.2.16 langchain-openai==1.1.10 langchain-community==0.4.1 openai==2.24.0 datasets==4.6.1 pandas==2.3.3 openpyxl==3.1.5 langgraph==1.0.10 # 以下依赖会自动安装,无需手动指定 # pydantic>=2.0 # numpy>=1.24 # tiktoken>=0.6.0

执行成功后,新建python代码运行下,确认ragas安装完成

import ragas from ragas import evaluate from ragas.metrics import Faithfulness, AnswerRelevancy print(f"RAGAS版本: {ragas.__version__}")

2.copy原博主的测试代码和测试数据集

可以去原博文地址去进行复制,地址在下面

# 引用原博主的数据 [ { "question": "什么是检索增强生成(RAG)?", "answer": "RAG(Retrieval-Augmented Generation)是一种结合信息检索和文本生成的人工智能技术...", "contexts": [ "RAG是一种结合信息检索和文本生成的技术,能够提高大语言模型回答问题的准确性。", "通过检索外部知识库,RAG可以为模型提供最新的、领域相关的信息。", "RAG技术可以减少大语言模型产生幻觉的概率,提高答案的可信度。" ], "ground_truth": "RAG(Retrieval-Augmented Generation)是一种通过检索外部知识来增强大语言模型生成能力的框架..." }, { "question": "RAG系统的主要组成部分有哪些?", "answer": "RAG系统主要由三个核心部分组成:检索器、生成器和知识库...", "contexts": [ "RAG系统包含检索器、生成器和知识库三个主要组件。", "检索器负责从知识库中检索相关信息,通常使用向量检索或关键词检索。", "生成器基于检索到的上下文信息生成最终的答案。", "知识库可以是文档数据库、向量数据库或其他形式的信息存储系统。" ], "ground_truth": "RAG系统的主要组成部分包括:1)知识库(Knowledge Base)... 2)检索器(Retriever)... 3)生成器(Generator)..." } ]

3.运行,拿结果

4.留个疑问

ragas测评的指标,主要是精确率、召回率、忠实度、回答相关性、回答正确性。

标准检索的精确率、召回率,需要拿到知识库内所有相关文档才能计算;但测评数据集没有这份全集参照,Ragas是如何算出这两个数值?

5.郑重说明

该文档参考该篇博文进行实践:https://blog.csdn.net/WMXJY/article/details/158770319
非常感谢!!!