当前位置: 首页 > news >正文

大模型评测框架evalscope、openCompass

一、evalscope使用说明

1、如何使用智增增的接口:

VLLM_USE_MODELSCOPE=True evalscope eval \--model qwen2.5-14b-instruct \--api-url https://api.zhizengzeng.com/v1/chat/completions \--api-key skxxx \--eval-type service \--datasets gsm8k \--limit 10

2、使用本地数据集

下载

--datasets mmlu_pro \
--limit 10
--dataset-args '{"mmlu_pro": {"local_path": "MMLU-Pro"}}' \

3、使用openCompass作为后端

参考:OpenCompass | EvalScope

(1)环境准备

# 安装opencompass依赖
pip install evalscope[opencompass] -U

(2)数据准备

# ModelScope下载
wget -O eval_data.zip https://www.modelscope.cn/datasets/swift/evalscope_resource/resolve/master/eval.zip
# 解压
unzip eval_data.zip

备注:flame和openFinData不在opencompass常用数据集中

(3)部署

OpenCompass 评测后端使用统一的OpenAI API调用来进行评测,因此我们需要进行模型部署。

(4)配置文件

eval_backend: OpenCompass
eval_config:datasets:- mmlu- ceval- ARC_c- gsm8kmodels:- openai_api_base: http://127.0.0.1:8000/v1/chat/completionspath: qwen2-0_5b-instruct                                   temperature: 0.0

备注:这里的path为model_type

(5)运行脚本

from evalscope.run import run_task
from evalscope.summarizer import Summarizerdef run_eval():# 选项 1: python 字典task_cfg = task_cfg_dict# 选项 2: yaml 配置文件# task_cfg = 'eval_openai_api.yaml'# 选项 3: json 配置文件# task_cfg = 'eval_openai_api.json'run_task(task_cfg=task_cfg)print('>> Start to get the report with summarizer ...')report_list = Summarizer.get_report_from_cfg(task_cfg)print(f'\n>> The report list: {report_list}')run_eval()

4、自定义数据集

二、openCompass使用说明(仅支持linux,否则报路径错误)

github 地址:https://github.com/open-compass/OpenCompass/https://github.com/open-compass/opencompass/blob/main/README_zh-CN.mdhttps://github.com/open-compass/OpenCompass/

1、安装

  pip install -U opencompass## Full installation (with support for more datasets)# pip install "opencompass[full]"## Environment with model acceleration frameworks## Manage different acceleration frameworks using virtual environments## since they usually have dependency conflicts with each other.# pip install "opencompass[lmdeploy]"# pip install "opencompass[vllm]"## API evaluation (i.e. Openai, Qwen)# pip install "opencompass[api]"

2、通过自定义API评测openFinData

参考:【LLM之评测】opencompass使用自定义接口与自定义数据集进行评测_opencompass 自定义数据集-CSDN博客

(1)新建custom_api.py

from opencompass.models import OpenAISDK
models = [dict(type=OpenAISDK,abbr="gpt-3.5-turbo",path='gpt-3.5-turbo',  # You need to set your own judge model pathkey='sk-',  # You need to set your own API keyopenai_api_base=['http://localhost:8000/v1/chat/completions',  # You need to set your own API base],query_per_second=10,batch_size=1,temperature=0.001,verbose=True,max_out_len=16384,max_seq_len=49152,retry=3)
]

将此文件拷贝到opencompass的安装目录/config/models/,如:  cp .\custom_api.py D:\Users\Administrator\miniconda3\envs\3.10\lib\site-packages\opencompass\configs\models\

注意:这里的path和abbr只能设置为gpt-3.5-turbo,否则转发不过去,然后可以通过本地地址修改model到智增增服务器。

新增main.py如下:

from fastapi import FastAPI, Request
import requests
app = FastAPI()@app.post("/v1/chat/completions")
async def chat_completions(request: Request):data = await request.json()print("Received POST request with data:", data)api_key = "sk-xxx3"headers = {"Content-Type": "application/json","Authorization": f"Bearer {api_key}" }target_url = "https://api.zhizengzeng.com/v1/chat/completions" data["model"] = "qwen2.5-3b-instruct" # 修改真正的modelresponse_data = Nonetry:response = requests.post(target_url, json=data, headers=headers)response_data = response.json()print("Response from target URL:", response_data)except Exception as e:print(e)return response_data

安装依赖:

pip install uvicorn flask requests

启动本地转发服务:

uvicorn main:app --reload

备注:若需要更改端口,可增加 --port 8080,--reload为修改代码后可自动重启web服务

(2)下载openfindata数据 

下载链接:魔搭社区

将文件解压到当前目录,文件结构:data/openfindata_release/*.json

(3)执行评测

opencompass --models custom_api.py --datasets OpenFinData_gen

三、FAQ

1、Did you forget to register the node by TVM_REGISTER_NODE_TYPE ?

参考方案发现是安装了两个mlc相关版本,卸载mlc-llm-nightly 后在windows上可以正常运行

 pip list| grep mlc
mlc-ai-nightly                           0.15.dev559
mlc-llm-nightly                          0.1.dev1519

相关文章:

大模型评测框架evalscope、openCompass

一、evalscope使用说明 1、如何使用智增增的接口: VLLM_USE_MODELSCOPETrue evalscope eval \--model qwen2.5-14b-instruct \--api-url https://api.zhizengzeng.com/v1/chat/completions \--api-key skxxx \--eval-type service \--datasets gsm8k \--limit 10 …...

接口自动化——初识pytest

缩写单词含义.passed通过Ffailed失败(用例执行时报错)Eerror出错(fixture执行报错)sskipped跳过Xxpassed预期外的通过(不符合预期)xxfailed预期内的失败(符合预期) 1.pytest 配置 1…...

SkyWalking实战

1、下载SkyWalking APM 1.手动下载 Downloads | Apache SkyWalkinghttps://skywalking.apache.org/downloads/ 2.链接下载 https://dlcdn.apache.org/skywalking/10.2.0/apache-skywalking-apm-10.2.0.tar.gzhttps://dlcdn.apache.org/skywalking/10.2.0/apache-skywalking-…...

游戏AI实现-GOAP

GOAP原理: GOAP(面向目标的行动规划,Goal - Oriented Action Planning) 旨在让智能体通过选择一系列行动来达成特定目标。它基于对世界状态的理解,每个行动都有前提条件和效果。智能体通过分析当前世界状态与目标状态…...

Baklib内容中台的核心优势是什么?

智能化知识管理引擎 Baklib的智能化知识管理引擎通过多源数据整合与智能分类技术,实现企业知识资产的自动化归集与动态更新。系统内置的语义分析算法可自动识别文档主题,结合自然语言处理技术生成结构化标签体系,大幅降低人工标注成本。针对…...

windows第二十章 单文档应用程序

文章目录 单文档定义新建一个单文档应用程序单文档应用程序组成:APP应用程序类框架类(窗口类)视图类(窗口类,属于框架的子窗口)文档类(对数据进行保存读取操作) 直接用向导创建单文档…...

eBay多账号安全运营技术体系:从环境隔离到智能风控的工程化实践

一、多账号运营风险模型解析 (技术化重构关联检测机制) 环境指纹维度: 浏览器指纹参数:Canvas/WebGL渲染特征(差异度要求≥98%) 设备指纹参数:GPU型号/声卡特征(识别准确率92%&…...

《Python Web网站部署应知应会》No4:基于Flask的调用AI大模型的高性能博客网站的设计思路和实战(上)

基于Flask的调用AI大模型的高性能博客网站的设计思路和实战(上) 摘要 本文详细探讨了一个基于Flask框架的高性能博客系统的设计与实现,该系统集成了本地AI大模型生成内容的功能。我们重点关注如何在高并发、高负载状态下保持系统的高性能和…...

vulnhub-Node1

一、信息收集 1、扫靶机ip arp-scan -l 2、端口扫描 淦,只有22端口和3000端口,访问一下3000端口吧,估计是个网页 nmap -p- -Pn -sC -sV -n 192.168.66.130PORT STATE SERVICE VERSION 22/tcp open ssh OpenSS…...

什么是 OLAP 数据库?企业如何选择适合自己的分析工具

引言:为什么企业需要 OLAP 数据库? 你是否曾经经历过这样的场景: 市场部门急需一份用户行为分析报告,数据团队告诉你:“数据太大了,报表要跑 4 个小时”;业务负责人在会议中提出一个临时性分析…...

计算机视觉准备八股中

一边记录一边看,这段实习跑路之前运行完3DGAN,弄完润了,现在开始记忆八股 1.CLIP模型的主要创新点: 图像和文本两种不同模态数据之间的深度融合、对比学习、自监督学习 2.等效步长是每一步操作步长的乘积 3.卷积层计算输入输出…...

电源系统的热设计与热管理--以反激式充电器为例

前言 反激电源常用于各种电子设备中,比如充电器、适配器等,它们通过变压器进行能量转换。高温环境可能对电子元件造成影响,特别是像MOSFET、二极管、变压器这样的关键部件,导致效率变低,甚至可能导致功能失效。还有安…...

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft 服务器搭建,并实现远程联机,详细教程

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft 服务器搭建,详细详细教程 一、 服务器介绍二、下载 Minecraft 服务端三、安装 JDK 21四、搭建服务器五、本地测试连接六、添加服务,并设置开机自启动 前言: 推荐使用云服务器部署&…...

vue数据两个相同的参数对比只显示一个

vue数据两个相同的参数对比只显示第一个 如每条的rq0/rq1对比data() { return{dataList: [{CurrencyName: "现金",rq0: "2017-10-20 19:22:17",rq1: "2018-02-07 19:48:00",yje: -1179.8},{CurrencyName: "微支付",rq0: "2017-10…...

vue如何实现前端控制动态路由

在 Vue.js 中,动态路由是一种根据不同用户权限或其他因素动态改变路由列表的功能。这种机制允许开发者根据后端提供的权限数据动态渲染前端路由,实现多用户权限系统,不同用户展示不同的导航菜单。 动态路由的配置 动态路由的配置涉及到前端…...

开发环境部署

一、安装Django-5.0.3 1、将已下载的软件通过winscp上传至centos下 2、 安装 [root@hcss-ecs-1e19 ~]# ll total 10372 -rw-r--r-- 1 root root 10620661 Feb 10 10:16 Django-5.0.3.tar.gz [root@hcss-ecs-1e19 ~]# pip3 install Django-5.0.3.tar.gz Processing ./Django-…...

C语言入门教程100讲(0)从了解C语言的发展史开始

文章目录 引言1. C语言的起源2. C语言的诞生3. C语言的标准化4. C语言的进一步发展5. C语言的影响与应用6. C语言的未来结语引言 C语言作为一种高效、灵活且具有广泛应用的编程语言,在计算机科学史上占据着举足轻重的地位。它的设计不仅影响了后来的编程语言,也对操作系统、…...

笔记本电脑更换主板后出现2203:System configuration is invalid,以及2201、2202系统错误的解决

笔记本电脑更换主板后启动出现2203:System configuration is invalid,以及2201、2202系统错误的解决 自用的一台ThinkpadT490笔记本电脑 ,由于主板故障,不得不更换主板,通过某宝购置主板后进行了更换。 具体拆卸笔记本可搜索网络视频教程。 注意: 在更换主板时,注意先拍…...

如何为 Debian 和 Kali 系统更换软件源并更新系统

在 Linux 系统中,软件源(Software Repository)是获取软件包和更新的核心途径。然而,默认的软件源可能会因为地理位置、网络状况等原因导致下载速度缓慢,甚至无法访问。为了提升系统的软件获取效率,许多用户…...

git:远程仓库拉取到本地,fork到本地,修改后再上传

讲述仓库成员拉取远程仓库(即组长的仓库,里面有成员)到本地,修改内容再上传的详细步骤: 1.进入仓库,首先fork (如不,所作操作会直接对远程仓库进行,不用管理员审核&…...

C++ 中名字的作用域、概念、嵌套与实践(十八)

1. 名字的作用域基本概念 作用域(scope) 指的是程序中的一个区域(通常被花括号 {} 包围),在这里一个名字(如变量名、函数名、类名等)有其特定含义。 在 同一个作用域 中,一个名字只…...

Go语言nil原理深度解析:底层实现与比较规则

Go语言nil原理深度解析:底层实现与比较规则 引言 在Go语言中,nil 是一个特殊的关键字,用于表示引用类型的“零值”。它在指针、切片、映射、通道、接口和函数等类型中广泛使用。本文将从 底层实现、比较规则、与其他语言的对比 等角度&#…...

使用Java操作Redis

文章目录 常用Redis键操作命令使用Java操作Redis配置 Redis 连接信息创建 Maven 项目结构 操作字符串操作列表操作集合操作散列操作有序集合总结 报错解决办法: 当使用redis-cli连接客户端出现not connected时 使用redis-cli -h 192.168.222.101 -p 6379即可解决 …...

开源的CMS建站系统可以随便用吗?有什么需要注意的?

开源CMS建站系统虽然具有许多优点,但并非完全“随便用”。无论选哪个CMS系统,大家在使用的时候,可以尽可能地多注意以下几点: 1、版权问题 了解开源许可证:不同的开源CMS系统采用不同的开源许可证,如GPL、…...

数据结构:探秘AVL树

本节重点 理解AVL树的概念掌握AVL树正确的插入方法利用_parent指针正确更新平衡因子掌握并理解四种旋转方式:左单旋,右单旋,左右双旋,右左双旋 一、AVL树的概念 AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis&…...

C++ 变量与初始化详解(十五)

1. 变量定义 在 C 中,定义变量的基本形式通常是先写出 类型说明符(type specifier),后面紧跟由逗号分隔的一个或多个变量名,最后以分号结束。简单示例如下: int sum 0, value, units_sold 0; Sales_ite…...

【网络协议详解】—— STP 、RSTP、MSTP技术(学习笔记)

一、STP技术工作原理 STP(Spanning Tree Protocol)生成树协议(IEEE 802.1D)是一种网络协议,用于在网络拓扑中防止环路的产生。在二层交换网络中,逻辑上阻塞部分接口,实现从根交换机到所有节点的…...

C++中将记录集的数据复制到Excel工作表中的CRange类CopyFromRecordset函数异常怎么捕获

文章目录 一、异常类型及捕获逻辑二、完整代码示例三、关键错误场景与解决方案1. CopyFromRecordset 返回空数据2. COM错误 0x800A03EC3. Excel进程残留4. 内存不足 四、调试与日志记录1. 启用详细日志2. 捕获错误描述3. 调试断点 五、最佳实践 在C中使用 CRange::CopyFromReco…...

综述速读|086.04.24.Retrieval-Augmented Generation for AI-Generated Content A Survey

论文题目:Retrieval-Augmented Generation for AI-Generated Content: A Survey 论文地址:https://arxiv.org/abs/2402.19473 bib引用: misc{zhao2024retrievalaugmentedgenerationaigeneratedcontent,title{Retrieval-Augmented Generation…...

对内核fork进程中写时复制的理解记录

前言 文章写于学习Redis时对aof后台重写中写时复制的疑问 一、感到不理解的歧义 在部分技术文档中(以小林的文章为例),对写时复制后的内存权限存在如歧义: ! 二、正确技术表述 根据Linux内核实现(5.15版本&#x…...

【新手初学】SQL注入getshell

一、引入 木马介绍: 木马其实就是一段程序,这个程序运行到目标主机上时,主要可以对目标进行远程控制、盗取信息等功能,一般不会破坏目标主机,当然,这也看黑客是否想要搞破坏。 木马类型: 按照功…...

【湖北工业大学2025年ACM校赛(同步赛)】题解

比赛链接 A. 蚂蚁上树 题目大意 给定一棵 n n n 个结点的树,根结点为 1 1 1。每个 叶结点 都有一只蚂蚁,每过 1 1 1 秒钟,你可以选一些蚂蚁往其 父结点 走一步,但是要求任意两只蚂蚁都不能在同一个 非根结点 上。 问至少要…...

FPGA Verilog/VHDl 中的锁存latch

目录 一、前言二、锁存器定义三、verilog中锁存的产生四、verilog中锁存的影响和消除五、FPGA中的锁存器资源 一、前言 在做FPGA设计时,我们要求在组合逻辑设计时,case或者if-else条件要完整,否则会产生锁存。本文主要介绍锁存产生的原因和影…...

Ubuntu24.04 配置远程桌面服务

一:安装 sudo apt update sudo apt install vino 二:设置 gsettings set org.gnome.Vino require-encryption false # 关闭加密(某些 VNC 客户端不支持加密) gsettings set org.gnome.Vino prompt-enabled false # 关闭连接…...

【二刷代码随想录】螺旋矩阵求解方法、推荐习题

一、求解方法 (1)按点模拟路径 在原有坐标的基准上,叠加 横纵坐标 的变化值,求出下一位置,并按题完成要求。但需注意转角的时机判断,特别是最后即将返回上一出发点的位置。 (2)按层…...

Python基础教程:从格式化到项目管理

一、Typora代码块支持格式 在Typora中编写代码时,支持多种语言的语法高亮显示: 二、代码格式化 1. %格式化(传统方式) 第一种方式:正规方式 示例代码: name "张三" age 10 print("我的…...

Python爬虫:开启数据抓取的奇幻之旅(一)

目录 一、爬虫初印象:揭开神秘面纱​ 二、工欲善其事:前期准备​ (一)Python 环境搭建​ 1.下载 Python 安装包:​ 2.运行安装程序:​ 3.配置环境变量(若自动添加失败)&#x…...

分布式ID服务实现全面解析

分布式ID生成器是分布式系统中的关键基础设施,用于在分布式环境下生成全局唯一的标识符。以下是各种实现方案的深度解析和最佳实践。 一、核心需求与设计考量 1. 核心需求矩阵 需求 重要性 实现难点 全局唯一 必须保证 时钟回拨/节点冲突 高性能 高并发场景…...

浏览器与网络模块实践

浏览器渲染步骤 浏览器渲染大致分为以下四个步骤: 1. 构建 DOM 树 • 过程:当浏览器接收到 HTML 文档后,会从上到下依次解析 HTML 代码。每遇到一个开始标签,就会创建一个对应的 DOM 节点,并根据标签的嵌套关系将这些…...

谈谈Minor GC、Major GC和Full GC

目录 一、背景 二、三者之间的区分 1、Minor GC 2、Major GC (1)老年代空间不足: (2)晋升(Promotion)失败: (3)空间分配担保失败: &#x…...

基于SpringBoot实现的高校实验室管理平台功能四

一、前言介绍: 1.1 项目摘要 随着信息技术的飞速发展,高校实验室的管理逐渐趋向于信息化、智能化。传统的实验室管理方式存在效率低下、资源浪费等问题,因此,利用现代技术手段对实验室进行高效管理显得尤为重要。 高校实验室作为…...

梯度裁剪(Gradient Clipping)

梯度裁剪(Gradient Clipping)是一种用于防止梯度爆炸(Gradient Explosion)的技术,具体来说: 1. 梯度裁剪的作用 问题背景:在训练深度神经网络(尤其是RNN/LSTM)时&#x…...

联合办公空间WeWork的创新模式与私域流量时代的品牌温度——兼论开源AI大模型AI智能名片S2B2C商城小程序源码的潜在价值

摘要:本文聚焦于联合办公空间WeWork的成功模式,深入剖析其如何让创业用户摆脱传统租赁的束缚,打破空间与社交限制,为创业带来新的可能性与趣味性,并有效降低创业成本与风险。同时探讨了WeWork在私域流量时代所建立的平…...

Git配置

为什么要用:下载zip只是当前分支,不能进行仓库push、pull、checkout 1. 下载Git 先判断是否已经下过Git: git --version若没有版本号出来,就去下载:https://git-scm.com/downloads (Windows、linux、mac…...

Protobuf 的快速使用(二)

这个部分会对通讯录进⾏多次升级,使⽤ 2.x 表⽰升级的版本,最终将会升级如下内容: 不再打印联系⼈的序列化结果,⽽是将通讯录序列化后并写⼊⽂件中。 从⽂件中将通讯录解析出来,并进⾏打印。 新增联系⼈属性&#xff…...

网页设计思路

CSS实现思路: 用一个div直接父级继承 在这里插入图片描述 一LOGO结构 h1>a>搜索关键字 二导航栏结构 结构:ul>li>a 三搜索框结构 div>input/a 四用户头像结构 div>a>imgspan 处理行内块和行内垂直对齐方向使用 vertical-align...

Vue3 配合 fullPage.js 打造高效全屏滚动网页

引言 在现代网页设计中,整屏滚动(Full-page Scrolling)已成为展示内容的一种流行方式。通过将内容分成若干个全屏页面,并配合流畅的过渡动画,可以为用户带来身临其境的浏览体验。本文将介绍如何使用 fullPage.js 插件来…...

全排列 II:去重的技巧与实现

全排列 II:去重的技巧与实现 1. 引言:排列问题的坑 你有没有遇到过这样的问题? 当我们在做全排列(Permutation)的时候,如果输入的数组中包含重复元素,生成的排列中就会出现大量重复项。这样不…...

微型导轨和普通导轨有哪些区别?

微型导轨和普通导轨都是常用的工业机械传动装置,目前,市场上有各种各样的导轨产品。那么微型导轨和普通导轨有哪些区别呢? 1、尺寸:微型导轨尺寸较小,滑座宽度最小可达 8MM,长度最小可达 11MM 左右&#xf…...

Java 输入流到输出流

Java 输入流到输出流的复制方法主要有以下六种实现方式,根据性能、适用场景和实现原理可分为不同类别: 一、基础字节流方式 实现原理:通过 FileInputStream 和 FileOutputStream 逐字节或块读取数据并写入。 代码示例: try (In…...