4.2 KiB
4.2 KiB
MiniMax-Vendor-Verifier
概述
MiniMax-Vendor-Verifier 是一个用于验证 MiniMax M2 / M2.5 / M2.7 供应商部署正确性的多验证器基准测试。每条提示行可携带一个可选的 check_type 标签,用于路由到特定的验证器;此外还始终启用 error_only_reasoning 检测器,以捕获最常见的部署回归问题。本基准测试改编自 MiniMax-Provider-Verifier。
任务描述
- 任务类型:供应商部署正确性检查(多维度)
- 输入:多轮对话消息(可选工具定义)以及每行的路由标签(
check_type、expected_tool_call) - 输出:供应商的聊天补全响应,并根据该行所选的验证器进行评分
- 分发逻辑:未指定
check_type的行默认使用tool_calls验证器;指定了check_type的行仅运行所列的验证器
核心特性
- 移植了五个上游验证器作为纯函数:
tool_calls— 对参数进行 JSON Schema 验证,并检查数组命令的合理性,同时基于expected_tool_call生成混淆矩阵error_only_reasoning(始终启用)— 标记包含推理但无内容且无工具调用的响应(一种部署回归问题)contains_russian_characters_unicode— 语言遵循性检查;当响应中出现西里尔字符时判定为失败repeat_n_gram— 退化重复检测器(任意 3-gram 出现 4 次或以上即视为失败)scenario_check— 验证模型是否保留声明的 JSON 属性顺序,用于发现会重新排序parameters.properties的供应商
- 报告中每个验证器的分母:
num=0表示该子集中没有行触发此验证器(并非失败) - 托管数据集保留了上游的 sample.jsonl 文件,以及 M2.5 / M2.7 的每轮基线追踪数据
评估说明
- 默认配置使用 0-shot 评估;
default子集包含 102 行 - 评估指标:tool_calls_match_rate、schema_accuracy、error_only_reasoning_rate、language_following_success_rate、repeat_ngram_pass_rate、scenario_check_pass_rate
- 根据上游指导,正确部署的供应商应达到:
tool_calls_match_rate ≈ 0.98、schema_accuracy ≥ 0.98、error_only_reasoning_rate = 0以及scenario_check_pass_rate = 1.0 - 使用
--limit时,较稀有的check_type行(scenario / repeat / language)可能不会全部被采样;请检查各验证器对应的num列
属性
| 属性 | 值 |
|---|---|
| 基准测试名称 | minimax_verifier |
| 数据集ID | evalscope/MiniMaxVendorVerifier |
| 论文 | N/A |
| 标签 | Agent, FunctionCalling |
| 指标 | tool_calls_match_rate, schema_accuracy, error_only_reasoning_rate, language_following_success_rate, repeat_ngram_pass_rate, scenario_check_pass_rate |
| 默认 Shots | 0-shot |
| 评估分割 | test |
数据统计
| 指标 | 值 |
|---|---|
| 总样本数 | 102 |
| 提示词长度(平均) | 72251.38 字符 |
| 提示词长度(最小/最大) | 16 / 341252 字符 |
样例示例
子集: default
{
"input": [
{
"id": "6cc50a79",
"content": "日本ではどのような時にお年玉を渡しますか?",
"role": "user"
}
],
"target": "",
"id": 0,
"group_id": 0,
"tools": [],
"metadata": {
"check_type": [
"contains_russian_characters_unicode"
],
"expected_tool_call": null,
"tools_raw": []
}
}
提示模板
未定义提示模板。
使用方法
使用 CLI
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets minimax_verifier \
--limit 10 # 正式评估时请删除此行
使用 Python
from evalscope import run_task
from evalscope.config import TaskConfig
task_cfg = TaskConfig(
model='YOUR_MODEL',
api_url='OPENAI_API_COMPAT_URL',
api_key='EMPTY_TOKEN',
datasets=['minimax_verifier'],
limit=10, # 正式评估时请删除此行
)
run_task(task_cfg=task_cfg)