使用 Zeno 可视化 Ragas 评估结果:RAG 评测指标的上传与交互式探索实战指南

发布时间:2026/9/21 17:14:14

使用 Zeno 可视化 Ragas 评估结果:RAG 评测指标的上传与交互式探索实战指南 使用 Zeno 可视化 Ragas 评估结果RAG 评测指标的上传与交互式探索实战指南【免费下载链接】ragasSupercharge Your LLM Application Evaluations 项目地址: https://gitcode.com/gh_mirrors/ra/ragas本指南讲解如何把 Ragas 的 RAG 评估结果context_precision、faithfulness、answer_relevancy、context_recall 等指标得分一键上传到 Zeno 评估平台通过自定义视图与指标面板进行可视化、探索与多模型对比。读完本文你将掌握从运行 Ragas 评估、导出 DataFrame到在 Zeno 上创建项目、定义 RAG 视图、上传数据集与系统输出的完整工作流从而把枯燥的指标数字变成可交互、可下钻、可分享的评估报告。为什么要把 Ragas 结果可视化到 ZenoRagas 的evaluate()会为每个样本逐条计算多项指标得分最终返回一个EvaluationResult对象。直接打印或查看 DataFrame 只能看到一行行数字很难回答这样几个问题哪类问题如单跳事实型、多跳推理型得分普遍偏低检索上下文与生成答案之间存在什么样的对应关系更换模型或提示词后哪些样本的分数发生了变化、变化方向如何Zeno 正是为了解决这类探索式评估问题而设计它支持把原始数据问题、上下文、标准答案、系统输出模型回答和指标得分一起上传并在浏览器中提供按列排序、过滤、分组、逐样本下钻、跨系统对比等能力。搭配 Ragas 的评估流程可以形成评测 → 上传 → 探索 → 定位问题 → 迭代 → 再对比的闭环。需要说明的是zeno-client属于第三方生态包本仓库源码src/ragas/中并不包含 Zeno 的集成代码两者的衔接完全通过标准的 pandas DataFrame 完成——这正是本文工作流的核心枢纽。第一步安装与准备安装 zeno-client在已安装ragas的 Python 环境中执行pip install zeno-client注册账号并获取 API Key在 Zeno Hub 平台注册账号在账号设置页面生成一个 API Key后续所有上传操作都需要该 Key建议通过环境变量注入避免硬编码到代码里。第二步运行 Ragas 评估并导出结果导入所需模块import os import pandas as pd from datasets import load_dataset from zeno_client import ZenoClient, ZenoMetric from ragas import evaluate from ragas.metrics import ( answer_relevancy, context_precision, context_recall, faithfulness, )配置 API Key# Set API keys os.environ[OPENAI_API_KEY] your-openai-api-key os.environ[ZENO_API_KEY] your-zeno-api-keyOPENAI_API_KEY供 Ragas 评估时使用的 LLM如 faithfulness、answer_relevancy 等指标需要 LLM 打分调用ZENO_API_KEY供ZenoClient上传数据使用。加载数据集并执行评估沿用 Getting Started 指南见 docs/getstarted/evals.md的评估流程使用 FIQA 金融问答数据集的ragas_eval子集fiqa_eval load_dataset(vibrantlabsai/fiqa, ragas_eval) result evaluate( fiqa_eval[baseline], metrics[ context_precision, faithfulness, answer_relevancy, context_recall, ], ) df result.to_pandas() df.head()这里选择的四个指标分别覆盖 RAG 链路的不同环节context_precision检索到的上下文中相关信息的占比衡量检索精度faithfulness生成答案与检索上下文之间的事实一致性衡量生成忠实度answer_relevancy答案对问题的相关程度context_recall标准答案中的信息被检索上下文覆盖的比例衡量召回。to_pandas()的底层原理从源码看evaluate()定义见 src/ragas/evaluation.py返回的EvaluationResult内部同时保存了scores每条样本的指标得分列表和dataset原始评估数据集。EvaluationResult.to_pandas()实现见 src/ragas/dataset_schema.py的工作方式如下将scores转为scores_df调用dataset.to_pandas()将原始样本转为dataset_df底层通过model_dump()展开SingleTurnSample等数据模型见 src/ragas/dataset.py用pd.concat([dataset_df, scores_df], axis1)按行横向拼接。因此df中每行既包含原始样本字段question、contexts、answer、ground_truth 等又并列着四个指标得分列。Zeno 上传所需的全部信息都来自这个 DataFrame。SingleTurnSample的字段定义可参见 src/ragas/dataset_schema.py其中user_input、retrieved_contexts、response、reference与 Zeno 视图中的 question、texts、answer、ground_truth 一一对应。第三步在 Zeno 上创建项目拿到df后先在 Zeno 上创建一个项目并用自定义 RAG 视图声明每条样本如何渲染同时声明需要按哪些指标列进行统计client ZenoClient(os.environ[ZENO_API_KEY]) project client.create_project( nameRagas FICA eval, descriptionEvaluation of RAG model using Ragas on the FICA dataset, view{ data: { type: vstack, keys: { question: {type: markdown}, texts: { type: list, elements: {type: markdown}, border: True, pad: True, }, }, }, label: { type: markdown, }, output: { type: vstack, keys: { answer: {type: markdown}, ground_truth: { type: list, elements: {type: markdown}, border: True, pad: True, }, }, }, size: large, }, metrics[ ZenoMetric( namecontext_precision, typemean, columns[context_precision] ), ZenoMetric(namefaithfulness, typemean, columns[faithfulness]), ZenoMetric(nameanswer_relevancy, typemean, columns[answer_relevancy]), ZenoMetric(namecontext_recall, typemean, columns[context_recall]), ], )要点说明view声明了 Zeno 界面上数据与输出两栏的渲染结构问题用 markdown 展示检索上下文以带边框的 markdown 列表vstack纵向堆叠展示标准答案和模型回答同样用 markdown/列表呈现metrics中的每个ZenoMetric对应一个指标列typemean表示在项目面板上以均值聚合该列columns指向df中对应的列名项目名称与描述会显示在 Zeno Hub 的项目页面上建议命名包含数据集与评测目标便于后续检索与分享。第四步上传基础数据集项目创建后先把数据 标准答案作为基础数据集上传。这里的关键是从df重组出 Zeno 期望的三列结构data_df pd.DataFrame( { data: df.apply( lambda x: {question: x[question], texts: list(x[contexts])}, axis1 ), label: df[ground_truth].apply(lambda x: \n.join(x)), } ) data_df[id] data_df.index project.upload_dataset( data_df, id_columnid, data_columndata, label_columnlabel )data列是结构化对象包含question与texts检索上下文列表与项目view中声明的data渲染结构对应label列存放标准答案ground_truth多条时用换行连接id列是样本唯一标识后续上传系统输出时必须用相同的id才能对齐到对应样本。第五步上传系统输出与指标得分最后把模型输出answer与四项 Ragas 指标得分作为一个系统上传。你可以为每个待对比的模型/版本重复执行这一步从而在同一个项目里横向对比多个系统的表现output_df df[ [ context_precision, faithfulness, answer_relevancy, context_recall, ] ].copy() output_df[output] df.apply( lambda x: {answer: x[answer], ground_truth: list(x[ground_truth])}, axis1 ) output_df[id] output_df.index project.upload_system( output_df, nameBase System, id_columnid, output_columnoutput )output_df保留了四个指标列Zeno 会依据项目中声明的ZenoMetric对它们进行统计展示output列存放模型生成的答案与view中的output渲染结构对应nameBase System是该系统的展示名后续上传其他系统如调优后的提示词、换用其他 LLM时使用不同名称即可并排对比id_column与数据集上传时保持一致保证输出与样本正确匹配。完整工作流回顾与实战建议整个流程可以归纳为五步评测用ragas.evaluate()跑出四项 RAG 指标result.to_pandas()得到同时含原始字段与得分列的 DataFrame建项ZenoClient.create_project()声明自定义 RAG 视图与指标聚合方式传数据upload_dataset()上传问题、检索上下文与标准答案传系统upload_system()上传模型回答与指标得分对比迭代对每个候选系统重复第 4 步在 Zeno 中下钻分析。实战中值得注意的几点多系统对比迭代提示词、更换 LLM 或调整检索策略后用相同的id与指标列再跑一轮evaluate()并upload_system()即可在 Zeno 中直接看到各系统在同一批样本上的得分差异指标列必须与df列名严格一致ZenoMetric(columns[...])与upload_system的 DataFrame 列名、view中的字段名三处需要对齐否则数据无法正确渲染或统计逐样本下钻Zeno 中点击任一数据点即可同时看到问题、检索上下文、模型回答与标准答案非常适合定位 faithfulness 或 context_precision 偏低的失败样本反哺数据清洗与提示词优化。深入阅读评估入口与返回类型src/ragas/evaluation.pyEvaluationResult.to_pandas()拼接实现src/ragas/dataset_schema.pySingleTurnSample样本字段定义src/ragas/dataset_schema.py四个指标在ragas.metrics中的导出位置src/ragas/metrics/init.pyGetting Started 评估入门docs/getstarted/evals.md【免费下载链接】ragasSupercharge Your LLM Application Evaluations 项目地址: https://gitcode.com/gh_mirrors/ra/ragas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/21 17:09:14

Java 21 + Spring Boot 3 构建企业级 RAG 智能体工作流引擎

1. 项目概述:为什么在 Java 生态里重做 RAG 智能体工作流不是“倒退”,而是精准卡位别卷 Python 了——这句话不是情绪宣泄,是我在连续交付 7 个 AI 增强型企业系统后的真实判断。过去两年,我带团队用 Python LangChain LangGr…

2026/9/21 17:09:14

system.img修改全攻略:格式识别、解包重打包与刷写避坑指南

1. system.img为何要改:先搞清楚这张"系统盘"的脾气玩Android的时间稍微长一点,基本都会遇到这个需求:自带应用删不掉、想加个开机脚本、想把某几个系统应用替换成自己改过的版本、或者单纯想把谷歌全家桶从国行固件里拔掉。这些操…

2026/9/21 17:09:14

变频与定频空调负荷聚合模型及Matlab实现

1. 项目背景与核心价值在电力系统运行中,空调负荷占比逐年攀升,夏季高峰时段甚至可达总负荷的40%以上。传统控制方式往往将空调视为不可控负荷,导致电网调峰压力巨大。这项研究通过建立空调负荷的精细化控制模型,实现了三点突破&a…

2026/9/21 20:34:27

SSE技术解析:Servlet与Spring实现实时数据推送

1. 什么是SSE及其核心价值Server-Sent Events(SSE)是一种允许服务器向客户端推送实时数据的Web技术。与WebSocket不同,SSE是基于HTTP的单向通信协议,特别适合服务器向客户端持续发送更新的场景。SSE的核心优势在于:使用…

2026/9/21 20:34:27

Authorization: Bearer中的Bearer有啥用?

先给结论&#xff1a;这里的 Header 指的不是 JWT 三段式里的那段 Header&#xff0c;而是 HTTP 请求头。大家统一用 Authorization: Bearer <token>&#xff0c;本质是"跟着标准走"——下面拆开讲。 1. 先分清两个"Header"位置内容JWT 的 Headertok…

2026/9/21 20:34:27

配电网三相不平衡潮流计算:隐式Zbus高斯法解析

1. 项目背景与核心价值配电网三相不平衡潮流计算是电力系统分析中的基础性工作&#xff0c;也是配网自动化、分布式电源接入等场景的关键支撑技术。传统潮流计算多采用牛顿-拉夫逊法或快速解耦法&#xff0c;但在处理辐射状配电网时&#xff0c;这些方法常面临收敛性问题。隐式…

2026/9/21 20:34:27

JWT 与 Ed25519:从三段式结构到 Node.js 密钥实践

目录背景与目标一、JWT 是什么&#xff1a;三段式结构三种常见签名算法怎么选二、Ed25519 密钥是什么三、公钥和私钥的对应关系&#xff08;重点&#xff09;四、本地用 Node.js 生成密钥对4.1 推荐&#xff1a;crypto.generateKeyPairSync4.2 备选&#xff1a;Web Crypto API五…

2026/9/21 3:28:31

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介&#xff1a;《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南&#xff0c;面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者&#xff0c;用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/21 3:33:19

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介&#xff1a;这份PPT围绕互联网业务安全托管服务展开&#xff0c;面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者&#xff0c;重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件&#xff0c;包体约30.63MB&#xff0c;以…

2026/9/21 0:02:23

OpenResearch:构建可复现的开放式研究工作流

第一次看到“OpenResearch”这个名字&#xff0c;我脑子里冒出的不是某个具体软件&#xff0c;而更像一种研究方式的宣言&#xff1a;开放、可复现、可验证。这三件事放在一起&#xff0c;其实比大多数人想象中难得多。过去几年我一直在折腾自己的研究工作流&#xff0c;从纯纸…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/21 18:32:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/21 10:29:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码