Full Line Code Completion: Bringing AI to Desktop

2024年05月14日
  • 简介
    近年来,已经出现了几种解决多令牌代码完成问题的工业解决方案,每一种都在该领域取得了重大进展,但大多数都集中在云端运行时,避免在最终用户设备上工作。 在本文中,我们描述了我们构建 JetBrains' IntelliJ 平台的多令牌代码完成功能的方法,我们称之为 Full Line Code Completion。该功能仅建议语法正确的代码,并完全在本地工作,即数据查询和建议生成发生在最终用户的计算机上。我们分享了重要的时间和内存消耗限制,以及代码完成引擎应满足的设计原则。我们的代码完成引擎完全在最终用户的设备上工作,不仅快速、紧凑,而且安全,丰富了用户体验。我们分享了一些有用的技术,以满足所述的开发约束,并描述了离线和在线评估流程,使我们能够做出更好的决策。 我们的在线评估显示,使用该工具会导致 IDE 中使用代码完成生成的代码量增加 1.5 倍。所述解决方案最初是在研究人员的帮助下开始的,并在 2023 年底捆绑到了两个 JetBrains' IDE - PyCharm Pro 和 DataSpell 中,因此我们相信这项工作对于架起学术界和工业界之间的桥梁,为研究人员提供将复杂的基于研究的解决方案集成到实际产品中所需的知识是有用的。
  • 图表
  • 解决问题
    本论文旨在解决多令牌代码完成的问题,提供一种本地化的解决方案,即数据查询和建议生成都在用户设备上完成。
  • 关键思路
    论文提出了一种名为Full Line Code Completion的多令牌代码完成功能,该功能只建议语法正确的代码,完全在本地工作,而不是在云端运行。
  • 其它亮点
    论文分享了一些满足代码完成引擎的设计原则和重要的时间和内存消耗限制的有用技术。在线评估表明,使用该工具可以使IDE中的代码量增加1.5倍。该解决方案已经被捆绑到两个JetBrains的IDE中,并提供了离线和在线评估流程,使得研究人员可以了解将复杂的研究解决方案集成到实际产品中时会发生什么。
  • 相关研究
    近年来,已经出现了几种工业解决方案,用于多令牌代码完成问题,但主要集中在云端运行,并避免在最终用户设备上工作。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论