xCodeEval:多语言代码评估基准

简介

在当今的编程生态系统中,代码理解与生成的能力愈发重要。xCodeEval是由南洋理工大学的NLP团队创建的首个大规模多语言、多任务基准,涵盖11种编程语言和7个代码智能任务,旨在全面评估代码大语言模型(LLMs)的跨语言能力。本文将详细介绍xCodeEval的特点、应用场景以及如何快速上手。

环境准备/前置条件

  • 确保您已注册并登录 Ace Data Cloud。
  • 安装Python环境。
  • 安装HuggingFace Datasets库,使用以下命令: bash pip install datasets

详细步骤

1. 数据集亮点

xCodeEval的数据集亮点包括: - 11种编程语言 :支持Python、C、C++、Java、JavaScript、Ruby、Kotlin、PHP、C#、Go、Rust。 - 7个代码任务 :涵盖代码生成、代码翻译、代码总结、代码标记、代码搜索、代码补全和代码修复。 - 跨语言转移 :支持不同编程语言之间的评估,验证模型是否真正理解编程概念而非仅仅记忆语法。 - 执行验证 :提供完整的单元测试,准确评估生成代码的正确性。 - 统一评估框架:提供标准化的评估管道和指标,支持不同代码LLMs的综合能力比较。

2. 适用场景

xCodeEval适用于以下场景: - 代码生成评估 :测试大语言模型从自然语言描述生成可执行代码的能力。 - 代码翻译 :评估模型在不同编程语言之间转换代码的能力,验证语义保留和功能等价性。 - 代码理解 :通过代码总结、标记和搜索任务,全面衡量模型对代码语义的深刻理解。 - 开发工具评估:为AI编程助手和代码补全工具提供标准化测试集,促进开发效率工具的持续改进。

3. 数据预览

以下是xCodeEval代码生成任务的样本结构:

json 复制代码
{
  "task": "code_generation",
  "language": "python",
  "description": "Given an array of integers, return the two numbers that add up to a specific target.",
  "solution": "def two_sum(nums, target):\n    seen = {}\n    for i, n in enumerate(nums):\n        if target - n in seen:\n            return [seen[target - n], i]\n        seen[n] = i",
  "test_cases": [
    {"input": "nums=[2,7,11,15], target=9", "output": "[0, 1]"},
    {"input": "nums=[3,2,4], target=6", "output": "[1, 2]"}
  ]
}

4. 3步快速开始

从浏览到评估,快速启动您的代码智能研究: - 步骤 1:浏览数据集 - 在Ace Data Cloud平台上查看数据集详细信息,了解7种任务类型、11种编程语言和评估指标。

  • 步骤 2:加载数据

  • 使用以下命令通过HuggingFace Datasets加载所需的任务和语言: python from datasets import load_dataset dataset = load_dataset("NTU-NLP-sg/xCodeEval")

  • 步骤 3:评估模型

  • 在代码生成任务上运行模型,通过单元测试执行计算pass@k指标,比较不同模型的性能。

常见问题

  • 如何访问数据集?

  • 您可以通过 Ace Data Cloud 获取数据集。

  • 支持哪些编程语言?

  • xCodeEval支持Python、C、C++、Java、JavaScript、Ruby、Kotlin、PHP、C#、Go和Rust。

总结

xCodeEval是一个全面的多语言代码评估基准,支持从代码生成到翻译和修复等多种能力的评估。无论您是研究人员还是开发者,xCodeEval都能帮助您深入理解代码智能模型的能力,推动研发进程。

标签

代码智能

多语言

代码生成

LLM基准

跨语言

相关推荐
xuhe217 分钟前
Codex解决新模型无法使用/model选择的问题
linux·ai·codex
我才是银古3 小时前
AI 啃 DWG图纸:从二维到三维
ai·cad·dwg
codigger4 小时前
把 AI Agent 养在自己电脑上:从本地部署到远程接管的一份完整思路
ai·编程·#人工智能·#agent
空心木偶☜4 小时前
LangGraph
ai·ai编程·langgraph
空心木偶☜4 小时前
langgraph加上“循环”和“记忆”
ai·ai编程·langgraph
Martina_03214 小时前
AI生成的盔甲换动作后漂移?用6步检查挂点、骨架映射与 Bind Pose
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
云卷云舒___________5 小时前
Astra-lite疑似GPT-6.1 Terra? Haiku 5.5 与 Gemini 4 Argon 灰测? | 10月5日 AI日报
ai·anthropic·ai日报·terra·gemini4·gpt61·haiku55
howdoyoudo2026065 小时前
当新案例冲击旧框架:分类系统的宿命与修正路径
大数据·网络·数据库·人工智能·安全·ai·分类
工作10年+,存储芯片行业5 小时前
存储芯片产业全景:从产品矩阵到技术优势与质量体系
ai·nvme·芯片·数据中心·存储·pcie·半导体
袖清暮雨5 小时前
机器学习之逻辑回归
人工智能·机器学习·ai