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

evalscope使用2-使用自定义数据集压测

    使用自定义数据集进行压测,需要定义模板、提示词数据集、自定义数据集插件,命令行中指定--dateset参数为custom

1、evalscope命令,其中指定dataset为custom,以及dataset-path指向提示词文件。注意,使用opanai接口,则只能通过--api-key注入apikey。

evalscope perf   --url 'http://oneapi.sjwjpt.eda.it.hnx.ctc.com:3000/v1/chat/completions' --api-key sk-AK...32B0 --parallel 10   --model 'DeepSeek-R1'   --log-every-n-query 10   --read-timeout 100   --connect-timeout 120   --number 30   --max-prompt-length 128000   --min-prompt-length 128   --api openai   --query-template @template.json   --dataset custom   --dataset-path ./custom_prompts.txt &

2、template.json文件,其中model从命令行中注入,messages从提示词数据集中由插件代码注入

{"model": "{{model}}","messages": [{"role": "system","content": "你是一名拥有10年经验的质检专家..."},"{{messages}}"],"stream": false,"temperature": 0.0

3、提示词数据,每个提示词一行,插件代码会按行进行拆分。如果提示词本身是多行,则需要用一个不会出现在提示词中的特殊符号(如 ===)作为每条多行提示词的分隔符,插件代码再按分隔符拆分而非按行拆分。

坐席:客户:呃,我想问一下我那个。...坐席:辛苦,您稍后对外号热线十分满意,评价。

4、自定义数据集插件,这个插件只能注入提示词数据集,如果需要定义接口其他参数,则需要使用自定义api插件

from typing import Dict, Iterator, List
from evalscope.perf.arguments import Arguments
from evalscope.perf.plugin.datasets.base import DatasetPluginBase
from evalscope.perf.plugin.registry import register_dataset@register_dataset('custom')  # 注册为custom数据集,与命令中--dataset参数对应
class CustomDatasetPlugin(DatasetPluginBase):"""自定义数据集插件,用于读取自定义prompt文件并生成请求消息"""def __init__(self, query_parameters: Arguments):super().__init__(query_parameters)# 从参数中获取自定义数据集路径self.dataset_path = query_parameters.dataset_pathdef build_messages(self) -> Iterator[List[Dict]]:"""
        构建符合OpenAI格式的消息列表从自定义数据集文件中按行读取prompt,过滤长度符合要求的内容"""
# 按行读取自定义数据集for item in self.dataset_line_by_line(self.dataset_path):prompt = item.strip()  # 去除首尾空白字符# 过滤符合长度要求的prompt(基于命令中指定的min/max参数)if (self.query_parameters.min_prompt_length < len(prompt) < self.query_parameters.max_prompt_length):# 应用聊天模板(符合OpenAI的message格式)if self.query_parameters.apply_chat_template:yield [{'role': 'user', 'content': prompt}]else:yield promptif __name__ == '__main__':# 本地调试用示例from evalscope.perf.main import run_perf_benchmarkargs = Arguments(model='qwen3-14b',url='http://ip:port/v1/chat/completions',dataset_path='custom_prompts.txt',  # 本地调试的数据集路径dataset='custom',  # 使用自定义数据集parallel=2,number=20,min_prompt_length=128,max_prompt_length=128000,api='openai')run_perf_benchmark(args)

 

http://www.jsqmd.com/news/42203/

相关文章:

  • 2025 年 11 月摩托车/机车厂家推荐排行榜:街车、跑车、巡航机车、越野摩托车品牌实力与市场口碑深度解析
  • 20232402 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • 2025 年 11 月热轧方钢/扁钢厂家推荐排行榜,方钢,扁钢,热轧方钢,热轧扁钢,优质钢材生产公司推荐
  • 2025 年 11 月冷拉/冷拔六角钢厂家推荐排行榜,冷拉六角钢,冷拔六角钢,精密冷拉六角钢,高强度六角钢公司推荐
  • 2025 年 11 月氢氧化镁厂家推荐排行榜,矿石氢氧化镁,水镁石氢氧化镁,阻燃剂氢氧化镁,改性氢氧化镁公司推荐
  • 3种决策树算法
  • (Kotlin高级特性三)Kotlin密封类(Sealed Class)在何时比枚举更适用? - 指南
  • 2025 年 11 月冷拉/冷拔扁钢厂家推荐排行榜,冷拉扁钢,冷拔扁钢,精密冷拉扁钢,高强度冷拔扁钢公司推荐
  • 20232309 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • CIO的能力
  • 20232326 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • LangChain4j实战-工具(函数调用)Tools(Function Calling)
  • 应用安全 --- frida成功的关键 之 时机
  • 小米路由器通过电脑使用手机usb共享网络联网教程
  • 第27天(简单题中等题 二分查找)
  • 题解:P14452 [ICPC 2025 Xian R] Follow the Penguins
  • Atcoder 432 A-F 总结+题解
  • 用 Rust 实现验证码识别
  • 结合前缀和进行差分数组的学习理解
  • Rust 实现验证码识别
  • 高安全性 PHP 2FA 开发指南:Authenticator 扫码验证实现方案
  • 20232417 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • Elixir 实现验证码识别
  • 2025 年空运物流公司推荐排行榜(广东地区重点推荐) 广州 / 深圳 / 佛山 / 东莞 ⇄ 澳洲 / 新西兰 / 悉尼 / 新加坡 / 墨尔本 空运专线物流公司推荐
  • 终结挑战的元回应 ——当问题本身成为答案的生成器
  • [学习笔记] JMM 汇总:从概念到底层原理
  • Python 3.14 实用技巧:10个让代码更清晰的小改进
  • 各组件证书配置文件yml
  • 模型管理与树形结构
  • 20232416 2025-2026-1 《网络与系统攻防技术》实验五实验报告