首页/新闻资讯/正文详情

Rag评测-relevance评分

发布时间:2026/11/4 16:26:08 来源:云帆数科 栏目:资讯中心
Rag评测-relevance评分
接着上次faithfulness下讲另一个指标-relevance回答相关性这是测回答的内容和提问的问题是否强相关的一项指标使用的基本原理是将被测系统提问问题所回答出来的内容通过大模型倒推出问题再用向量模型比对倒推出的问题和原问题的语义相关性因此需要引入一个向量模型引入前仍先在models文件里接着封装一个类用来做向量适配器;Class Embedding(Embeddings): def __init__(self, url:str): self.url url def _embed(self, texts): res _requests.post(self.url, json{texts: texts}, timeout30) res.raise_for_status() return res.json()[data][vectors] def embed_documents(self, texts): return self._embed(texts) def embed_query(self, text): return self._embed([text])[0]通过这个类将转发的requests到引用的向量接口中接下来新建一个Answer_relevance.py文件import os sys import pandas as pd from ragas import EvaluationDataset, evaluate, RunConfig from ragas.metrics import AnswerRelevancy from ragas.llms import LangchainLLMWrapper #路径锚定: 不管从哪个目录跑, data 都指向 目录\data\ BASE_DIR os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DATA_DIR os.path.join(BASE_DIR, data) sys.path.insert(0, BASE_DIR) #锚定绝对路径 from models import Chat, Embeddings #配置参数 EMBED_URL填写向量大模型url DETAIL_CSV DATA_DIR /eval_detail_relevancy.csv # 单独保存回答相关性的成绩 # 上面写好文件里的配置项包括引用的各种库配置好向量模型以及把存放的明细文件地址写好接下来写好正式的打分代码因为回答相关性不看检索文档也不看标准答案(源文档)所以需要准备的东西会比faithfulness这里少很多;def build_samples(df_res, rowsNone): #准备材料 if rows is None: rows range(len(df_res)) samples [] for i in rows: row df_res.iloc[i] samples.append({ user_input: row[question],#原题 response: row[response], # 考生的回答 }) return samples def judge_relevancy(df_res): dataset EvaluationDataset.from_list(build_samples(df_res)) #把Python列表弄成ragas认可的格式 print(f已加载 {len(dataset)} 条开始打分...) judge_llm LangchainLLMWrapper(Chat())#给模型包一层lanterchain外壳 embeddings Embeddings(urlEMBED_URL) #使用向量大模型 run_config RunConfig(timeout600, max_retries0, max_workers2) # 与faithfulness相同配置超时设置10分钟不重试不重跑开双路 result evaluate(datasetdataset, metrics[AnswerRelevancy()], llmjudge_llm, embeddingsembeddings, run_configrun_config) print(f\n AnswerRelevancy: {result}) detail result.to_pandas() #结果转成表detail.to_csv(DETAIL_CSV, indexFalse, encodingutf-8-sig) n_nan detail[answer_relevancy].isna().sum() if n_nan: print(f缺考 {n_nan} 题NaN不计分不计题) print(f明细已存 {DETAIL_CSV}) return result if __name__ __main__: df_res pd.read_csv(DATA_DIR /dataset_result.csv).dropna(subset[question] judge_relevancy(df_res)

相关推荐

【AI 使用经验系列】—— 模型单次回复有最大输出长度限制(token 上限)
【AI 使用经验系列】—— 模型单次回复有最大输出长度限制(token 上限)

背景背景:在Qoder中使用Qwen3.8-flash模型,让它回答问题时,出现答案从中间截断,不完整问题,再次接着说,回答的还是断断续续的聊天记录豆包回复然后我问豆包是否也有这个问题,它回复如下&#xf… · 2026/11/4 16:26:08

【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器

MCP for Unity:用 AI 自然语言控制编辑器栏目:Unity知识速递 | 期号:NO.004 | 日期:2026-10-24📌 知识要点 MCP(模型上下文协议)是连接 LLM 与外部工具的标准协议&#x… · 2026/11/4 16:26:08

DeepSeek    LeetCode 515. 在每个树行中找最大值 Java实现
DeepSeek LeetCode 515. 在每个树行中找最大值 Java实现

LeetCode 515. 在每个树行中找最大值 Java 实现 题意 给定二叉树根节点 root,返回每一层节点的最大值组成的列表(从上到下)。 示例:1/ \3 2/ \ \5 3 9输出:[1, 3, 9]思路一:BFS 层序遍历&#xff… · 2026/11/4 16:25:08

SplitFed:联邦学习与拆分学习的架构级融合
SplitFed:联邦学习与拆分学习的架构级融合

1. 为什么“SplitFed”不是联邦学习的简单升级,而是架构级重构? “SplitFed实战解析:联邦学习与拆分学习的融合创新”——这个标题里藏着一个常被误读的关键点:它不是“联邦学习拆分学习11”,而是把两个原本运行在不同… · 2026/11/4 17:06:59

微信小程序.wxapkg解包工具原理与实战指南
微信小程序.wxapkg解包工具原理与实战指南

简介:这是一套面向小程序开发者与安全研究人员的微信小程序反编译工具集wxappUnpacker,专用于逆向解析小程序主包及分包,解决封闭环境下无法查看原始业务逻辑、组件结构与网络配置等核心问题,适用于代码学习、性能分析、安全审计与… · 2026/11/4 17:06:59

Swarm2.1多智能体仿真框架:可调试、可插桩、可闭环验证的集群行为沙盒
Swarm2.1多智能体仿真框架:可调试、可插桩、可闭环验证的集群行为沙盒

简介:Swarm 2.1.1 仿真工具是面向计算机科学、人工智能与复杂系统研究者的多智能体建模平台,适用于高校科研、分布式算法验证及生物启发式行为模拟等场景,帮助用户通过编程定义智能体交互逻辑,揭示群体涌现行为。资源包共221个文件… · 2026/11/4 17:06:59

OpenCV鱼眼相机畸变矫正:针孔模型与fisheye四参数实战
OpenCV鱼眼相机畸变矫正:针孔模型与fisheye四参数实战

鱼眼摄像头畸变矫正这件事,说难不难,说简单也处处是坑。我用 Python OpenCV 做鱼眼摄像头畸变矫正前后大概有四五年时间,从最初拿 cv2.undistort 一把梭、结果画面边缘糊成一团,到后来能把 190 度视场的模组校到边缘直线度误差低… · 2026/11/4 17:06:59

JavaScript逃逸与备份文件提权实战
JavaScript逃逸与备份文件提权实战

1. 靶机渗透实战概述最近在HackTheBox平台上挑战了CodePartTwo靶机,这是一台涉及JavaScript逃逸和备份文件提权的Linux系统。整个过程充满了技术细节和思维突破点,特别适合想要提升Web渗透和权限提升技能的安全爱好者。这台靶机的设计巧妙之处在于&#… · 2026/11/4 17:06:59

wxappUnpacker小程序反编译实战指南:解包原理与避坑技巧
wxappUnpacker小程序反编译实战指南:解包原理与避坑技巧

简介:这是一套面向小程序开发者与安全研究人员的微信小程序反编译工具集wxappUnpacker,专用于逆向解析小程序主包与分包,解决封闭环境下无法查看原始逻辑、调试业务流程及开展安全审计的痛点,适用于代码学习、漏洞分析、性能优化等… · 2026/11/4 17:05:58

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码