【RAG评测方案汇总】GitHub开源工具全览
文章目录
- RAG评测方案汇总:GitHub开源工具全览
- 一、主流通用RAG评测框架
- 1. RAGChecker - 亚马逊开源的细粒度诊断框架
- 2. RAGAS - 最流行的RAG专用评估框架
- 3. Rageval - 模块化RAG评估套件
- 4. SCARF - 全面的RAG框架评估系统
- 5. DeepEval - 可集成到CI/CD的评估框架
- 二、专用评测框架与工具
- 1. 领域专用评测
- 2. 特定功能评测工具
- 三、评测框架对比分析
- 四、实用评测组合推荐
- 五、安装与使用要点
- 六、总结
RAG评测方案汇总:GitHub开源工具全览
若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力!有问题请私信或联系邮箱:funian.gm@gmail.com

一、主流通用RAG评测框架
1. RAGChecker - 亚马逊开源的细粒度诊断框架
- GitHub:amazon-science/RAGChecker
- 核心特点:
- 提供整体+检索+生成三层指标,包括精确率、召回率、幻觉率、忠实度等
- 使用声明级蕴含(claim-level entailment)操作进行细粒度评估
- 可诊断RAG各环节问题,定位性能瓶颈
- 安装:
pip install ragchecker - 使用示例:
# 命令行方式
ragchecker-cli --input_path=examples/checking_inputs.json --output_path=output.json --metrics all_metrics# Python API方式
from ragchecker import RAGChecker
evaluator = RAGChecker(extractor_name="llama3-70b", checker_name="llama3-70b")
results = evaluator.evaluate(rag_data, metrics=["hallucination", "faithfulness"])
2. RAGAS - 最流行的RAG专用评估框架
- GitHub:explodinggradients/ragas
- 核心特点:
- 专为RAG设计的评估指标,包括忠实度、答案正确性、上下文相关性等
- 支持离线+在线两种评估模式,兼容多种RAG实现
- 可集成到CI/CD,提供持续监控
- 安装:
pip install ragas - 使用示例:
from datasets import Dataset
from ragas import evaluate
from ragas.metrics import faithfulness, answer_correctness# 准备评估数据
data = Dataset.from_dict({"question": ["First Super Bowl date?"],"answer": ["The first Super Bowl was held on January 15, 1967"],"contexts": [["The First AFL-NFL World Championship Game was played on January 15, 1967..."]]
})# 执行评估
scores = evaluate(data, metrics=[faithfulness, answer_correctness])
print(scores)
3. Rageval - 模块化RAG评估套件
- GitHub:gomate-community/rageval
- 核心特点:
- 支持生成任务(答案正确性+忠实度)和检索任务(上下文充足性+相关性)评估
- 提供自动+人工两种评估方式,支持OpenAI和开源LLM
- 包含ASQA、ALCE等多个基准测试
- 安装:
git clone https://github.com/gomate-community/rageval && cd rageval && python setup.py install
4. SCARF - 全面的RAG框架评估系统
- GitHub:Eustema-S-p-A/SCARF
- 核心特点:
- 提供端到端黑盒评估,支持不同RAG框架对比
- 评估维度包括事实准确性、上下文相关性和响应连贯性
- 生成详细性能报告,支持多种部署配置
5. DeepEval - 可集成到CI/CD的评估框架
- GitHub:confident-ai/deepeval
- 核心特点:
- 支持断言式测试,可定义"答案必须包含某关键词"等规则
- 能检测幻觉和事实不一致,计算相似度和多样性
- 适合测试驱动开发,可将评估集成到CI/CD流水线
二、专用评测框架与工具
1. 领域专用评测
| 评测框架 | GitHub链接 | 适用领域 | 特点 |
|---|---|---|---|
| CRAG | facebookresearch/CRAG | 通用事实问答 | 提供模拟API,涵盖5个领域、8类问题,评估响应质量 |
| OmniEval | RUC-NLPIR/OmniEval | 金融领域 | 矩阵化金融领域评估基准,包含幻觉检测 |
| MedRAGBench | Teddy-XiongGZ/MedRAG | 医疗领域 | 医疗问答评估,强调医学知识准确性 |
| LegalBench-RAG | zeroentropy-ai/legalbenchrag | 法律领域 | 法律文档问答评估,注重法律条款准确性 |
2. 特定功能评测工具
-
RAG Arena:mendableai/rag-arena
- 用户投票评估不同RAG配置,支持向量检索、多向量检索等多种检索策略
-
RAGLab:fate-ubw/RAGLab
- 模块化研究框架,支持RAG算法公平比较,集成Factscore、ALCE等指标
-
XRAG:DocAILab/XRAG
- 包含50+测试指标,支持查询重写、高级检索、后处理和问答生成模块评估
-
RAGnostics:ragnostics/ragnostics-tool
- RAG可行性评估,检测噪声水平、文件结构适用性,提供替代建议
三、评测框架对比分析
| 框架名称 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|
| RAGChecker | 诊断最全面,精确到声明级别,人类相关性高 | 配置复杂,需高性能LLM,成本较高 | 追求高精度的企业级RAG,需深度问题定位 |
| RAGAS | 最易用,集成度高,社区支持好,轻量级 | 部分指标依赖LLM,幻觉检测能力有限 | 快速迭代的RAG开发,生产环境监控 |
| Rageval | 模块化设计,支持多种评估策略,包含基准测试 | 文档较少,集成需自定义代码 | 研究场景,需灵活组合评估指标 |
| DeepEval | 断言测试强大,适合CI/CD,幻觉检测出色 | 需编写自定义断言,学习曲线较陡 | 工程化RAG系统,需自动化质量保证 |
| SCARF | 黑盒评估,框架对比能力强,报告详细 | 学习成本高,配置复杂 | 多方案选型,企业级RAG框架评估 |
| CRAG | 模拟真实API,场景多样化,评估标准明确 | 仅支持事实问答,扩展性有限 | 通用RAG系统基准测试,研究对比 |
四、实用评测组合推荐
-
基础组合:RAGAS + LangSmith
- RAGAS提供核心指标评估
- LangSmith追踪RAG链路细节,便于调试
-
诊断组合:RAGChecker + RAGAS
- RAGAS提供快速指标评估
- RAGChecker深入诊断问题,定位性能瓶颈
-
工程组合:DeepEval + RAGAS + Grafana
- DeepEval实现CI/CD集成和断言测试
- RAGAS提供全面指标
- Grafana实现可视化监控
五、安装与使用要点
-
安装依赖:多数框架需OpenAI API或本地LLM支持
# 安装OpenAI依赖 pip install openai# 安装向量数据库(可选) pip install chromadb milvus-client -
数据准备:评估前需准备标准格式数据
{"query_id": "1","query": "用户问题","gt_answer": "标准答案","response": "RAG生成答案","retrieved_context": [{"doc_id": "d1", "text": "检索到的文档内容"}] } -
评估执行:根据框架选择合适方式
- RAGAS:
evaluate(dataset, metrics=all_metrics) - RAGChecker:
ragchecker-cli --input input.json --output output.json
- RAGAS:
六、总结
RAG评测是确保RAG系统质量的关键环节,GitHub上已有丰富的开源工具可供选择:
- 首选RAGAS:适合快速入门和轻量级评估
- 深度诊断选RAGChecker:适合问题定位和精度优化
- 特定领域:选择CRAG(通用)、OmniEval(金融)等专用框架
- 工程化需求:DeepEval提供CI/CD集成能力
