摘要
大型语言模型(LLM)如 GitHub Copilot 和 ChatGPT 已成为强大的代码生成工具,显著提高了生产力并加速了软件开发。然而,现有的基准测试主要集中在通用代码生成,而没有考虑面向 API 的代码生成,即生成调用特定库中的 API 的代码。鉴于对面向 API 的代码生成的需求不断增长,迫切需要一种系统化和自动化的方法来评估 LLM 在面向 API 的代码生成方面的能力。为了填补这一空白,我们提出了 AutoAPIEval,一个轻量级且自动化的框架,旨在评估 LLM 在面向 API 的代码生成方面的能力。我们的框架适用于任何提供 API 文档的库,并专注于两个单元任务:API 推荐和代码示例生成,以及四个指标来评估生成的 API 和代码示例,例如任务 1 中错误 API 推荐的比例,以及任务 2 中没有调用特定 API 的代码示例和不可编译/不可执行的代码示例的比例。此外,我们对三个 LLM(ChatGPT、MagiCoder 和 DeepSeek Coder)和 Java 运行时环境 8 进行了案例研究,以证明该框架的有效性。我们的发现表明 LLM 在不同任务中的性能存在很大差异,ChatGPT 更好地遵循指令,而在代码示例生成方面与同行(即 MagiCoder 和 DeekSeek Coder)具有相似的有效性。我们还确定了与代码质量相关的关键因素,如 API 流行度和模型置信度,并构建了分类器,在检测错误的 API 推荐和错误的代码示例方面取得了高精度。检索增强生成提高了 LLM 生成的代码质量,尽管其有效性在不同的 LLM 中有所不同。