# C-Eval ## 概述 C-Eval 是一个全面的中文评估基准,旨在评估语言模型在中文语境下的知识与推理能力。该基准涵盖 52 个学科,范围从 STEM(科学、技术、工程和数学)到人文与社会科学,题目难度覆盖初中至专业资格考试水平。 ## 任务描述 - **任务类型**:多项选择题问答(中文) - **输入**:一道包含四个选项(A、B、C、D)的中文问题 - **输出**:单个正确答案字母 - **学科分类**:52 个学科,分为 4 大类(STEM、社会科学、人文学科、其他) ## 主要特点 - 共计 13,948 道多选题,覆盖 52 个学科 - 题目来源包括中国初中、高中、大学及专业资格考试 - 涵盖数学、物理、法律、医学等多个领域 - 验证集(validation split)题目附带解析 - 是中文语言模型评估的标准基准之一 ## 评估说明 - 默认配置使用来自开发集(dev split)的 **5-shot** 示例 - 所有问题和提示均为中文 - 答案格式应为:"答案:[LETTER]" - 结果可按学科或大类进行汇总 - 可通过 `subset_list` 参数指定评估特定学科 ## 属性 | 属性 | 值 | |----------|-------| | **基准测试名称** | `ceval` | | **数据集ID** | [evalscope/ceval](https://modelscope.cn/datasets/evalscope/ceval/summary) | | **论文** | N/A | | **标签** | `Chinese`, `Knowledge`, `MCQ` | | **指标** | `acc` | | **默认示例数** | 5-shot | | **评估集** | `val` | | **训练集** | `dev` | ## 数据统计 | 指标 | 值 | |--------|-------| | 总样本数 | 1,346 | | 提示词长度(平均) | 1643.61 字符 | | 提示词长度(最小/最大) | 727 / 6605 字符 | **各子集统计数据:** | 子集 | 样本数 | 提示平均长度 | 提示最小长度 | 提示最大长度 | |--------|---------|-------------|------------|------------| | `computer_network` | 19 | 1245.42 | 1201 | 1313 | | `operating_system` | 19 | 1216.16 | 1187 | 1282 | | `computer_architecture` | 21 | 1654.67 | 1622 | 1732 | | `college_programming` | 37 | 1745.03 | 1660 | 2189 | | `college_physics` | 19 | 2071.16 | 1986 | 2184 | | `college_chemistry` | 24 | 2152.96 | 2107 | 2291 | | `advanced_mathematics` | 19 | 6271.68 | 6130 | 6605 | | `probability_and_statistics` | 18 | 4700.39 | 4527 | 4987 | | `discrete_mathematics` | 16 | 1176.75 | 1104 | 1365 | | `electrical_engineer` | 37 | 1137.81 | 1093 | 1264 | | `metrology_engineer` | 24 | 1187.08 | 1140 | 1312 | | `high_school_mathematics` | 18 | 2749.11 | 2670 | 2894 | | `high_school_physics` | 19 | 1365 | 1263 | 1538 | | `high_school_chemistry` | 19 | 1625.79 | 1536 | 1739 | | `high_school_biology` | 19 | 1159.95 | 1103 | 1243 | | `middle_school_mathematics` | 19 | 2141.68 | 2054 | 2413 | | `middle_school_biology` | 21 | 1822.52 | 1769 | 1910 | | `middle_school_physics` | 19 | 1596.53 | 1544 | 1721 | | `middle_school_chemistry` | 20 | 1916.65 | 1857 | 2045 | | `veterinary_medicine` | 23 | 1254.04 | 1210 | 1350 | | `college_economics` | 55 | 1919.85 | 1863 | 2141 | | `business_administration` | 33 | 1608.52 | 1547 | 1754 | | `marxism` | 19 | 1061.32 | 1033 | 1104 | | `mao_zedong_thought` | 24 | 1485.62 | 1449 | 1545 | | `education_science` | 29 | 1369.24 | 1338 | 1444 | | `teacher_qualification` | 44 | 1516.55 | 1457 | 1638 | | `high_school_politics` | 19 | 2062 | 1955 | 2189 | | `high_school_geography` | 19 | 1059.53 | 1026 | 1216 | | `middle_school_politics` | 21 | 1653.24 | 1595 | 1714 | | `middle_school_geography` | 12 | 1063.58 | 1020 | 1143 | | `modern_chinese_history` | 23 | 1355.7 | 1313 | 1447 | | `ideological_and_moral_cultivation` | 19 | 760.21 | 727 | 830 | | `logic` | 22 | 2436.41 | 2358 | 2572 | | `law` | 24 | 1799.29 | 1729 | 1931 | | `chinese_language_and_literature` | 23 | 954.83 | 937 | 983 | | `art_studies` | 33 | 793.3 | 774 | 844 | | `professional_tour_guide` | 29 | 924.41 | 902 | 1004 | | `legal_professional` | 23 | 2856.17 | 2718 | 2978 | | `high_school_chinese` | 19 | 2295.79 | 2205 | 2418 | | `high_school_history` | 20 | 1221.9 | 1164 | 1300 | | `middle_school_history` | 22 | 1069.73 | 1034 | 1149 | | `civil_servant` | 47 | 1973 | 1849 | 2186 | | `sports_science` | 19 | 1810.26 | 1789 | 1874 | | `plant_protection` | 22 | 1678.09 | 1653 | 1745 | | `basic_medicine` | 19 | 938.05 | 920 | 976 | | `clinical_medicine` | 22 | 1119.41 | 1086 | 1209 | | `urban_and_rural_planner` | 46 | 1428.8 | 1373 | 1591 | | `accountant` | 49 | 1605.92 | 1511 | 1808 | | `fire_engineer` | 31 | 1240.81 | 1168 | 1402 | | `environmental_impact_assessment_engineer` | 31 | 1269.97 | 1209 | 1388 | | `tax_accountant` | 49 | 1970.65 | 1879 | 2099 | | `physician` | 49 | 1010.59 | 983 | 1065 | ## 样例示例 **子集**: `computer_network` ```json { "input": [ { "id": "73073a35", "content": "以下是一些示例问题:\n\n问题:下列设备属于资源子网的是____。\n选项:\nA. 计算机软件\nB. 网桥\nC. 交换机\nD. 路由器\n解析:1. 首先,资源子网是指提供共享资源的网络,如打印机、文件服务器等。\r\n2. 其次,我们需要了解选项中设备的功能。网桥、交换机和路由器的主要功能是实现不同网络之间的通信和数据传输,是通信子网设备。而计算机软件可以提供共享资源的功能。\n答案:A\n\n问题:滑动窗口的作用是____。\n选项:\nA. 流量控制\nB. 拥塞控制\nC. 路由控制\nD. 差错 ... [TRUNCATED] ... Mbps,所以答案为min{80Mbps, 100Mbps}=80Mbps,选C。\n答案:C\n\n\n以下是中国关于计算机网络的单项选择题,请选出其中的正确答案。你的回答的最后一行应该是这样的格式:\"答案:[LETTER]\"(不带引号),其中 [LETTER] 是 A、B、C、D 中的一个。\n\n问题:使用位填充方法,以01111110为位首flag,数据为011011111111111111110010,求问传送时要添加几个0____\n选项:\nA. 1\nB. 2\nC. 3\nD. 4\n" } ], "choices": [ "1", "2", "3", "4" ], "target": "C", "id": 0, "group_id": 0, "metadata": { "id": 0, "explanation": "", "subject": "computer_network" } } ``` *注:部分内容因展示需要已被截断。* ## 提示模板 **提示模板:** ```text 以下是中国关于{subject}的单项选择题,请选出对的选项。你的回答的最后一行应该是这样的格式:"答案:[LETTER]"(不带引号),其中 [LETTER] 是 A、B、C、D 中的一个。 问题:{question} 选项: {choices} ```
少样本(Few-shot)模板 ```text 以下是一些示例问题: {fewshot} ```
## 使用方法 ### 使用命令行(CLI) ```bash evalscope eval \ --model YOUR_MODEL \ --api-url OPENAI_API_COMPAT_URL \ --api-key EMPTY_TOKEN \ --datasets ceval \ --limit 10 # 正式评估时请删除此行 ``` ### 使用 Python ```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=['ceval'], dataset_args={ 'ceval': { # subset_list: ['computer_network', 'operating_system', 'computer_architecture'] # 可选,用于评估特定子集 } }, limit=10, # 正式评估时请删除此行 ) run_task(task_cfg=task_cfg) ```