CMATH#
概述#
CMATH 是一个面向中国小学数学的基准测试,包含 1,698 道覆盖 1 至 6 年级的数学题目,用于评估语言模型在中文数学应用题上的数学推理能力,题目难度随年级递增。
任务描述#
任务类型:中文数学应用题求解
输入:中文数学应用题(小学水平)
输出:分步推理过程及数值答案
难度:1 年级(最简单)至 6 年级(最难)
主要特点#
包含 1,098 道测试题 + 600 道验证题
六个年级(1–6)便于细粒度难度分析
题目为中文,测试语言特定的推理能力
答案形式为简单数值(整数或小数)
元数据包含推理步骤数和数字复杂度信息
评估说明#
默认配置采用 0-shot 评估方式
答案需用
\boxed{}格式包裹以便正确提取使用数值精度指标进行答案比对
结果可按年级细分统计
默认使用中文提示模板
属性#
属性 |
值 |
|---|---|
基准测试名称 |
|
数据集 ID |
|
论文 |
N/A |
标签 |
|
指标 |
|
默认示例数 |
0-shot |
评估划分 |
|
数据统计#
指标 |
值 |
|---|---|
总样本数 |
1,098 |
提示词长度(平均) |
70.14 字符 |
提示词长度(最小/最大) |
38 / 191 字符 |
各子集统计:
子集 |
样本数 |
提示词平均长度 |
提示词最小长度 |
提示词最大长度 |
|---|---|---|---|---|
|
164 |
60.65 |
45 |
99 |
|
253 |
63.3 |
38 |
168 |
|
237 |
69.49 |
49 |
148 |
|
120 |
75.33 |
51 |
114 |
|
126 |
76.79 |
49 |
124 |
|
198 |
80.16 |
42 |
191 |
样例示例#
子集: Grade 1
{
"input": [
{
"id": "6e98e414",
"content": "妈咪买了3盒茶叶,一盒茶叶有6小包,一共买了多少小包茶叶?\n请一步一步推理,最后将答案放在\\boxed{}中。\n"
}
],
"target": "18",
"id": 0,
"group_id": 0,
"subset_key": "Grade 1",
"metadata": {
"reasoning_step": 1,
"num_digits": 2
}
}
提示模板#
提示模板:
{question}
请一步一步推理,最后将答案放在\boxed{{}}中。
使用方法#
使用 CLI#
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets cmath \
--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=['cmath'],
dataset_args={
'cmath': {
# subset_list: ['Grade 1', 'Grade 2', 'Grade 3'] # 可选,用于评估指定子集
}
},
limit=10, # 正式评估时请删除此行
)
run_task(task_cfg=task_cfg)