ToolCoder:教导代码生成模型使用 API 搜索工具
软件工程
2023-09-12 v5
摘要
近年来,从自然语言描述自动生成源代码已成为一个不断发展的研究领域。然而,当前大规模代码生成模型在为特定上下文选择合适 API 时常常遇到困难。这些模型可能生成不符合需求的 API,或引用第三方库中不存在的 API,尤其是对于鲜为人知或私有的库。受人类开发者使用工具搜索 API 的过程启发,我们提出 ToolCoder,一种将 API 搜索工具与现有模型集以辅助代码生成与 API 选择的新颖方法。为教导模型使用工具,我们引入一种利用 ChatGPT 的自动化数据标注方法,将工具使用信息加入源代码数据并微调代码生成模型。推理期间,我们将 API 搜索工具集成至生成过程,使模型在选择 API 时可自动使用搜索工具获取建议。实验结果表明,ToolCoder 在五个公开与私有库代码生成基准上展现出优异性能与泛化能力,相较 SOTA 方法平均 pass@1 指标提升至少 6.21%,平均 pass@10 指标提升 9.64%。此外,我们展示相对较小的 ToolCoder 模型可与当前最佳模型之一 GPT-3.5 相媲美,凸显了将编程工具纳入代码生成过程的潜力。
引用
@article{arxiv.2305.04032,
title = {ToolCoder: Teach Code Generation Models to use API search tools},
author = {Kechi Zhang and Huangzhao Zhang and Ge Li and Jia Li and Zhuo Li and Zhi Jin},
journal= {arXiv preprint arXiv:2305.04032},
year = {2023}
}