MultiCodeBench
收藏资源简介:
MultiCodeBench是一个新的多领域、多语言代码生成基准测试,旨在揭示当今主流大语言模型在流行软件应用领域中的代码生成能力。它覆盖了12个不同的领域,包括云服务、区块链、桌面应用、分布式系统、游戏、移动应用、Web应用、机器人、企业应用、数据分析、深度学习和物联网。
MultiCodeBench is a novel multi-domain, multilingual code generation benchmark designed to evaluate the code generation capabilities of current mainstream large language models (LLMs) in the field of popular software applications. It covers 12 distinct domains, including cloud services, blockchain, desktop applications, distributed systems, games, mobile applications, web applications, robotics, enterprise applications, data analysis, deep learning, and the Internet of Things (IoT).
MultiCodeBench 数据集概述
数据集简介
MultiCodeBench 是一个多领域、多语言的代码生成基准测试数据集,旨在评估主流大语言模型(LLMs)在不同软件应用领域中的代码生成能力。该数据集填补了现有代码生成基准测试在领域特定编程能力评估方面的空白。
数据集结构
MultiCodeBench 包含以下12个领域的代码生成任务:
- 云服务(Cloud_service.json)
- 区块链(Block_chain.json)
- 桌面应用(Desktop_application.json)
- 分布式系统(Distributed_system.json)
- 游戏(Game.json)
- 移动应用(Mobile.json)
- 网页应用(Web.json)
- 机器人(Robot.json)
- 企业应用(Enterprise_application.json)
- 数据分析(Data_analysis.json)
- 深度学习(Deep_learning.json)
- 物联网(IoT.json)
评估工具
MultiCodeBench 提供了基于 CodeBleu 的评估工具,用于评估生成的代码质量。评估工具包括以下组件:
- 关键词匹配(keywords)
- 解析器(parser)
- 构建工具(build)
- 数据流图提取工具(DFG)
- 供应商工具(vendor)
- 实用工具(utils.py)
- BLEU 评分工具(bleu.py)
- 代码 BLEU 计算工具(calc_code_bleu.py)
- 数据流匹配工具(dataflow_match.py)
- 语法匹配工具(syntax_match.py)
- 加权 n-gram 匹配工具(weighted_ngram_match.py)
- 运行脚本(run_script.sh)
快速开始
- 克隆该仓库。
- 运行
conda env create -f environment.yml创建名为 MultiCodeBench 的 conda 环境。
评估方法
将生成的代码结果放置在 generation_result/docstring_only/{model_name} 目录下,并在 MultiCodeBench/evaluation/CodeBleu 目录中运行以下命令进行评估:
bash
python calc_code_bleu.py --model {model_name} --predict_result_base_path generation_result/docstring_only
或者可以直接修改 MultiCodeBench/evaluation/CodeBleu/calc_code_bleu.py 中的源代码以自定义生成结果。




