Skip to content
Back to skills

Gen Evaluation Cfg

ASecurity

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

  • 32 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
documentation

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add kali20gakki/msAgent --skill gen-evaluation-cfg --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gen Evaluation Cfg?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gen Evaluation Cfg
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kali20gakki-gen-evaluation-cfg/badge)](https://www.skillsdirectory.com/skills/kali20gakki-gen-evaluation-cfg)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gen-evaluation-cfg
description: Generate msmodelslim evaluation YAML configuration (service_oriented + aisbench + vllm-ascend). Use when user asks for evaluation config generation.
license: Apache-2.0
metadata:
  version: 0.9.5
  domain: quantization
  framework: msmodelslim
  aliases:
    - msmodelslim-evaluation-config
    - evaluation-yaml
  trigger_intents:
    - 生成评测配置
    - 写测评yaml
    - 评测配置怎么写
  keywords:
    - evaluation config
    - aisbench
    - vllm-ascend
    - service_oriented
---

# 生成评测配置 YAML

## 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](assets/evaluation_config.example.yaml)

## 输入

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

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

## 文件生成规则

### 文件生成步骤

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

```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: { ... }
```

2. 文件生成后,执行文件检查。如果未通过检查,需要修正后重新生成,直到生成的文件满足所有要求。
3. 如果用户提供了参考的测评配置,则尽可能地按照用户的配置。如果进行了修改,则需要向用户回显该修改,给出简要的原因解释,但不必中断流程向用户确认
4. 文件生成并验证通过后,返回文件路径。

### 关键必填字段填写要求:

| 路径 | 类型 | 说明 |
|------|------|------|
| `type` | string | 必须为 `service_oriented` |
| `demand.expectations` | list | 至少包含一项 |
| `demand.expectations[].dataset` | string | 必须存在于 `evaluation.datasets` |
| `demand.expectations[].target` | float | 必须 > 0 |
| `demand.expectations[].tolerance` | float | 必须 ≥ 0 |
| `evaluation.type` | string | 必须为 `aisbench` |
| `evaluation.aisbench.request_rate` | float | 每秒发送的请求数,必须大于 `0`;< 0.001 为不限速发送,默认设为 `0.0001` |
| `evaluation.datasets` | dict | 必须非空 |
| `evaluation.datasets.*.config_name` | string | AISBench 注册名;输入未指定时按[注册名查找与任务选择](references/how_to_find_aisbench_config_name.md)确定 |
| `evaluation.host` | string | 与 `inference_engine.host` 保持一致 |
| `evaluation.port` | int | 与 `inference_engine.port` 保持一致 |
| `evaluation.served_model_name` | string | 与 `inference_engine.served_model_name` 保持一致 |
| `inference_engine.type` | string | 必须为 `vllm-ascend` |
| `inference_engine.env_vars.ASCEND_RT_VISIBLE_DEVICES` | string | 用户选择的物理设备索引,以逗号连接;如 `device_indices=[7]` 时填写 `"7"` |
| `inference_engine.args.served-model-name` | string | 与 `served_model_name` 保持一致 |
| `inference_engine.args.tensor-parallel-size` | int | 等于 `device_indices` 的元素数量 |

### VLM 字段填写参考:

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

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

### VLM 图片输入处理

1. 按[注册名查找与任务选择](references/how_to_find_aisbench_config_name.md)确定或校验 `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 确认路径 |

Files in this skill

  • SKILL.md9 KB
  • assets/evaluation_config.example.yaml2.3 KB
  • references/how_to_find_aisbench_config_name.md4.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in documentation →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.