BigCodeBench 数据集概述
基本信息
- 数据集名称: BigCodeBench
- 语言创建者: 专家生成
- 语言: 代码
- 许可证: Apache 2.0
数据集结构
特征
task_id (string): 任务的唯一标识符。
complete_prompt (string): 基于结构化文档字符串的代码补全提示。
instruct_prompt (string): 基于自然语言指令的代码生成提示。
canonical_solution (string): 不带注释的标准解决方案。
code_prompt (string): 仅代码提示。
test (string): 用于测试的代码片段,包装在 unittest.TestCase 类中。
entry_point (string): 代码片段的入口点,即 task_func。
doc_struct (string): 结构化文档字符串。
description (string): 任务的主要描述,自然语言。
note (string): 任务的附加注释,自然语言。
reqs (string, 可选): 任务解决方案中可使用的模块。
params (string, 可选): 任务解决方案中使用的参数。
returns (string, 可选): 任务解决方案中返回的值。
raises (string, 可选): 任务解决方案中应引发的异常。
examples (string, 可选): 任务解决方案的交互式 Python 示例作为提示。
libs (string): 任务解决方案中可使用的库。
数据分割
v0.1.0_hf
num_bytes: 6576565
num_examples: 1140
数据集大小
download_size: 2385578
dataset_size: 6576565
数据集配置
config_name: default
data_files:
split: v0.1.0_hf
path: data/v0.1.0_hf-*
数据集描述
- 变体:
BigCodeBench-Complete: 基于结构化文档字符串的代码补全。
BigCodeBench-Instruct: 基于自然语言指令的代码生成。
总体统计
| 统计项 |
Complete |
Instruct |
| 任务数量 |
1140 |
1140 |
| 平均测试用例数量 |
5.6 |
5.6 |
| 平均覆盖率 |
99% |
99% |
| 平均提示字符数 |
1112.5 |
663.2 |
| 平均提示行数 |
33.5 |
11.7 |
| 平均代码提示字符数 |
1112.5 |
124.0 |
| 平均解决方案字符数 |
426.0 |
426.0 |
| 平均解决方案行数 |
10.0 |
10.0 |
| 平均解决方案圈复杂度 |
3.1 |
3.1 |
函数调用统计
| 统计项 |
Complete/Instruct |
| 领域数量 |
7 |
| 标准库数量 |
77 |
| 第三方库数量 |
62 |
| 标准函数调用数量 |
281 |
| 第三方函数调用数量 |
116 |
| 平均任务库数量 |
2.8 |
| 平均任务函数调用数量 |
4.7 |
| 库组合数量 |
577 |
| 函数调用组合数量 |
1045 |
| 领域组合数量 |
56 |
数据集创建
数据收集
- 数据源: GPT-4-0613,种子示例来自 ODEX(从 StackOverflow 收集)。
- 数据标注: 通过人类专家和 LLMs 的合作进行标注。
使用注意事项
偏见讨论
- 可能存在一些带有轻微偏见指令或过度特定测试用例的编程任务。
- 认为偏见可以通过 BigCodeBench 的长期发展和开源社区的帮助得到缓解。
其他已知限制
额外信息
数据集策展人
- Terry Yue Zhuo, Monash University & CSIROs Data61
- 其他 BigCode 项目成员包括 Minh Chien Vu, Jenny Chim, Han Hu 等。
许可证信息
- BigCodeBench 使用 Apache License, Version 2.0。
引用信息
bibtex
@article{bigcodebench,
title={BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions},
author={Zhuo, Terry Yue and Vu, Minh Chien and Chim, Jenny and Hu, Han and Yu, Wenhao and Widyasari, Ratnadira and Yusuf, Imam Nur Bani and Zhan, Haolan and He, Junda and Paul, Indraneil and Brunner, Simon and Gong, Chen and Hoang, Thong and Zebaze, Armel Randy and Hong, Xiaoheng and Li, Wen-Ding and Kaddour, Jean and Xu, Ming and Zhang, Zhihan and Yadav, Prateek and Jain, Naman and Gu, Alex and Cheng, Zhoujun and Liu, Jiawei and Liu, Qian and Wang, Zijian and Lo, David and Hui, Binyuan and Muennighoff, Niklas and Fried, Daniel and Du, Xiaoning and de Vries, Harm and Von Werra, Leandro},
year={2024}
}