将程序视点设为星标精品文章第一时间阅读 大家好,欢迎来到程序视点!我是小二哥。
承前启后
众所周知,AI 编程仍然是一个众说纷纭的话题,但越来越多的开发者开始将 AI 融入他们的日常工作流中。上一篇文章我们一起分享了JetBrains IDE 在最新的 2024.1 版本中添加的一种新型的代码补全功能:。
今天,接着给大家分享的更多内容。让大家用着放心~
的内部运作
Full Line Code Completion 的核心骨干是一个编程语言特定的语言模型,该模型使用具有许可的开源代码数据集在内部训练而成。
语言模型的输入是文本光标前的代码,但对于某些语言,也会添加相关文件中的内容。 输出是模型建议的当前行的继续,以灰色显示。
语言模型的推理在本地计算机上运行。为确保最高效的生成,模型推理在单独的进程中运行,并针对目标计算机的架构进行了大量优化。例如,如果使用的是 x86-64 架构,模型将在 CPU 上运行,而如果使用的是 ARM64 架构,模型将使用计算机 GPU 的功能。
生成建议后,会应用一系列后处理步骤:会检查此建议在语法和语义上是否正确,然后进行智能过滤、格式设置、括号平衡和其他各种处理。这些处理会尽力只显示有价值的建议,保障质量。
关于采用单行建议
AI 补全建议的长度是一种权衡。虽然较长的建议往往会减少我们的按键次数,但同时也会增加我们的审查次数。毕竟,我们还不能完全相信AI。官方基于以上因素,采用了补全一行代码的折衷方案。
官网指出,这一折衷方案使其能够在不明显降低建议质量的情况下缩减模型的规模。在 2024.1 版的 JetBrains IDE 中,使用的语言模型拥有 1 亿个参数,上下文大小上限为 1,536 个词元,大约相当于 170 行代码。这样的上下文,完全能满足我们日常单个文件的内容了(一些祖传代码除外
)。
如何调整功能
您可以在 -->-->-->中配置全行代码补全,所有设置都可以在 (机器学习辅助补全)部分下找到。
如果想关闭该功能,可以取消选中 (启用全行建议)复选框。或者,您也可以禁用支持此功能的插件。为此,请前往-->,切换到(已安装)标签页,然后查找(全行代码完成)。
好了,今天的文章就到这里了。当前全行代码补全功能还有一定的局限性,比如尚未支持 C#、Rust 和 C++,又如代码补全仅支持到单行...