摘要
arXiv:2410.07002v3 通知类型: 替换-交叉
摘要:大语言模型已成功应用于编程辅助任务,如代码补全、代码插入和指导性代码编辑。然而,这些应用在自动化方面仍不够充分,并且在编程过程中难以有效整合多种类型的信息,包括编码历史、当前代码和用户指令。在本工作中,我们提出了一种新的对话框架,此框架全面整合了这些信息源,并收集数据以训练我们的模型并评估其性能。首先,为了全面评估模型与不同类型信息的对齐程度及输出质量,我们引入了一个新的基准,APEval(Assist Programming Eval),以全面评估模型在编程辅助任务中的性能。然后,在数据收集方面,我们开发了一个数据生成管道,Programming-Instruct,从GitHub和在线裁判平台等多个来源合成训练数据。该管道可以在编程过程中自动化生成各种类型的消息。最后,使用此管道,我们生成了219,000个样本,对多个模型进行了微调,并开发了CursorCore系列。我们显示CursorCore在可比规模的模型中表现最佳。此框架统一了诸如内置聊天和自动编辑等应用,推动了编码助手的发展。代码、模型和数据可免费访问 https://github.com/TechxGenus/CursorCore。