LLM2D
面向API的代码生成在大型语言模型中的综合评估框架
A Comprehensive Framework for Evaluating API-oriented Code Generation in Large Language Models
发布日期: 9/24/2024
arXiv ID: oai:arXiv.org:2409.15228v2

摘要

大型语言模型(LLMs),如 GitHub Copilot 和 ChatGPT,作为代码生成的强大工具已经出现,显著提升了生产力并加速了软件开发。然而,现有的基准测试主要关注通用代码生成,而未考虑面向 API 的代码生成,即生成调用特定库 API 的代码。鉴于对面向 API 的代码生成的需求不断增长,迫切需要一种系统且自动化的方法来评估 LLM 在面向 API 的代码生成上的表现。为了解决这一问题,我们提出了 AutoAPIEval,这是一种轻量级和自动化的框架,旨在评估 LLM 在面向 API 的代码生成方面的能力。我们的框架适用于任何提供 API 文档的库,并聚焦于两个单元任务:API 推荐和代码示例生成,同时通过四个指标来评估生成的 API 和代码示例,例如任务 1 中的错误 API 推荐比例,以及任务 2 中未调用特定 API 的代码示例和无法编译/执行的代码示例比例。此外,我们对三种 LLM(ChatGPT、MagiCoder 和 DeepSeek Coder)及 Java Runtime Environment 8 进行了案例研究,以展示该框架的有效性。我们的研究结果显示,LLM 在不同任务上的表现存在显著差异,其中 ChatGPT 更好地遵循指令,而在代码示例生成方面的效果与其他模型(即 MagiCoder 和 DeepSeek Coder)相似。我们还识别了与代码质量相关的关键因素,如 API 的流行度和模型的信心,并构建了高准确率的分类器,用于检测错误的 API 推荐和错误的代码示例。检索增强生成提高了 LLM 生成代码的质量,但其有效性在不同的 LLM 之间有所不同。