生成评测配置 YAML

SkillAI & models

Generate msmodelslim evaluation YAML configuration (service_oriented + aisbench + vllm-ascend). Use when user asks for evaluation config generation.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the 生成评测配置 YAML skill

What this skill tells your AI

The instructions your AI receives, as published by kali20gakki/msagent in skills/quantizer/gen-evaluation-cfg/SKILL.md and read by ahel’s review.

Overview

本 Skill 负责生成 quant-tuning-evaluate / run_evaluation.py 所需的单文件评测 YAML 配置。本 Skill 仅生成 Evaluation YAML。不要据此推断 Practice YAML 的 spec.save 应使用 compressed_tensors;Practice 的 save 以 tune-practice-cfg 为准,默认情况下使用 ascendv1_saver。

核心功能:

  • 生成包含 demand(目标精度)、evaluation(AISBench)、inference_engine(vLLM-Ascend)三个模块的完整 YAML
  • 确保三个模块之间的字段保持一致(模型名、服务地址、端口)

不适用:

  • 生成其他类型的配置(如量化策略配置)
  • 执行评测或分析评测结果等配置生成以外的任务

模板参考:evaluation_config.example.yaml

输入

执行时从上下文中提取以下信息:

参数说明缺省时默认值
模型名称量化后的模型标识符从上下文获取
服务地址推理服务 hostlocalhost
服务端口推理服务 port8000
设备类型推理后端设备ascend
设备索引用户选择的物理设备索引列表,如 [7]必须从上下文获取
目标数据集要评测的数据集列表从上下文获取
精度目标每个数据集的目标精度百分比从上下文获取
精度容差允许的精度波动范围从上下文获取
allowed_local_media_pathVLM 路径任务的显式覆盖目录null;优先从数据集 README 自动推导

文件生成规则

文件生成步骤

  1. 在工作目录生成一个 YAML 文件,包含以下结构:
type: service_oriented

demand:
  expectations:
    - dataset: <数据集名称>
      target: <目标精度>
      tolerance: <容差>

evaluation:
  type: aisbench
  precheck: [...]  # 可选
  aisbench: { ... }
  datasets:
    <数据集名称>:
      config_name: <ais_bench 注册名>
      # ...
  host: <服务地址>
  port: <服务端口>
  served_model_name: <模型名称>

inference_engine:
  type: vllm-ascend
  env_vars:
    ASCEND_RT_VISIBLE_DEVICES: <设备索引以逗号连接后的字符串>
  served_model_name: <模型名称>
  host: <服务地址>
  port: <服务端口>
  args: { ... }
  1. 文件生成后,执行文件检查。如果未通过检查,需要修正后重新生成,直到生成的文件满足所有要求。
  2. 如果用户提供了参考的测评配置,则尽可能地按照用户的配置。如果进行了修改,则需要向用户回显该修改,给出简要的原因解释,但不必中断流程向用户确认
  3. 文件生成并验证通过后,返回文件路径。

关键必填字段填写要求:

路径类型说明
typestring必须为 service_oriented
demand.expectationslist至少包含一项
demand.expectations[].datasetstring必须存在于 evaluation.datasets
demand.expectations[].targetfloat必须 > 0
demand.expectations[].tolerancefloat必须 ≥ 0
evaluation.typestring必须为 aisbench
evaluation.aisbench.request_ratefloat每秒发送的请求数,必须大于 0;< 0.001 为不限速发送,默认设为 0.0001
evaluation.datasetsdict必须非空
evaluation.datasets.*.config_namestringAISBench 注册名;输入未指定时按注册名查找与任务选择确定
evaluation.hoststring与 inference_engine.host 保持一致
evaluation.portint与 inference_engine.port 保持一致
evaluation.served_model_namestring与 inference_engine.served_model_name 保持一致
inference_engine.typestring必须为 vllm-ascend
inference_engine.env_vars.ASCEND_RT_VISIBLE_DEVICESstring用户选择的物理设备索引,以逗号连接;如 device_indices=[7] 时填写 "7"
inference_engine.args.served-model-namestring与 served_model_name 保持一致
inference_engine.args.tensor-parallel-sizeint等于 device_indices 的元素数量

VLM 字段填写参考:

VLM 测评仍然生成同一类 service_oriented + aisbench + vllm-ascend YAML,不新增顶层结构。与 LLM 配置相比,需要考虑以下字段:

路径类型说明
evaluation.aisbench.max_out_lenint优先采用模型卡、数据集官方配置或用户明确给出的建议;没有明确依据时使用 32768
evaluation.aisbench.batch_sizeint请求最大并发数;无通用默认值,信息不足时使用 16
inference_engine.args.max-model-lenintVLM 默认 65536;模型、数据集或用户明确指定时使用指定值,且不能超过模型上限
inference_engine.args.max-num-batched-tokensint默认取 min(max-model-len, 33792);显存充足但吞吐不足时再提高
inference_engine.args.allowed-local-media-pathstring仅图片路径任务填写;必须是经过校验的可信绝对目录

VLM 图片输入处理

  1. 按注册名查找与任务选择确定或校验 config_name,取得 media_input_type 和可选的 candidate_local_media_path。
  2. media_input_type 为 text 或 base64 时,不生成 allowed-local-media-path。
  3. media_input_type 为 local_path 时,优先使用显式传入的 allowed_local_media_path,否则使用 candidate_local_media_path。
  4. 将选定目录规范化为绝对路径,并确认它已存在、是目录、可被本次 vLLM 服务访问,且任务运行时发送的媒体文件位于该目录下。禁止使用 / 等过宽目录;多个路径任务必须共享一个安全的可信根目录。
  5. 校验通过后写入 inference_engine.args.allowed-local-media-path。没有候选目录或校验失败时不得生成 YAML;返回 VALIDATION_ERROR,说明数据集、selected_config_name、候选路径和失败原因,请主 Agent 向用户确认后通过 allowed_local_media_path 重试。

文件检查步骤(直接检查即可,无需写检查脚本)

  1. 确保所有必填字段存在且符合格式要求
  2. 确保生成的 YAML 文件语法正确,可以被 YAML 解析器成功解析
  3. 如果你在测浮点模型精度基线,则 demand.expectations[].target 和 demand.expectations[].tolerance 必须都设置为 100 进行占位。
  4. 确保测评配置一致性,你应确保测评浮点权重和量化权重的配置的通用参数一致,尤其是 evaluation.aisbench、inference_engine.args.max-model-len必须保持一致。在不一致的情况下,你应该修改当前生成的配置文件。例如先前生成了浮点的测评配置且已经测评过了,则你应该修改当前生成的量化测评配置。
  5. 检查 inference_engine.env_vars.ASCEND_RT_VISIBLE_DEVICES 与用户选择的 device_indices 完全一致,且 tensor-parallel-size 等于设备数量。
  6. 对 VLM 配置,按“VLM 图片输入处理”完成任务选择和媒体路径校验。

执行约束

绝对禁止:

  • 不得阅读任何源码文件
  • 不得使用 SemanticSearch 进行检索

允许:

  • 使用 assets/evaluation_config.example.yaml 作为模板
  • 读取本 Skill 直接引用的 references/ 文件
  • 读取 AISBench 数据集 README、模型官方 README/模型卡,以及模型目录中的 config.json、generation_config.json
  • 读取用户提供的已有 Evaluation YAML、AISBench 生成配置、summary、prediction 和服务日志,用于确认推理模式、长度截断与资源参数;只读分析,不修改这些评测产物

常见错误

错误类型描述修复方法
数据集未统一expectations 中的 dataset 不在 datasets 中同步添加或删除
服务地址不一致evaluation 与 inference_engine 的 host/port 不统一统一设置
模型名不一致served_model_name 在三处不统一统一设置
命名规则错误args 内使用了 snake_case 而非 kebab-case转换为 kebab-case(如 served_model_name → served-model-name)
配置名错误config_name 与 ais_bench 注册名不匹配查询正确的注册名
VLM 图片输入方式错误任务输入方式与服务能力不匹配,或路径任务缺少可信媒体根目录按 VLM 图片输入处理流程选择任务或返回主 Agent 确认路径

Signals

GitHub stars
31
Forks
8
Last commit
Sep 2026
Advanced
Item type
skill
Key
gen-evaluation-cfg
Source
github.com/kali20gakki/msagent