网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > ddos防御

大型语言模型和人工智能代码生成器的兴起(4)

  当Heller在2021年11月审查GitHub Copilot的预发布版本时,他发现,虽然它并不总是生成良好的、正确的、甚至运行的代码,但它仍然有些有用。Copilot基于OpenAI Codex,而OpenAI Codex又基于GPT-3,GPT-3经过微调,可以在5400万个开源GitHub存储库上生成代码。GitHub Copilot目前的费用是每月10美元或每年100美元,除非用户有资格获得免费版本。

  Heller喜欢Copilot在Visual Studio Code中的工作方式。基本上,必须编写函数的第一行,或者描述函数的注释,然后Copilot将生成多达10个版本的函数,可以按原样使用,编辑或不使用。正如Heller在上面所指出的,应该对Copilot生成的任何代码持保留态度,因为它确实容易产生幻觉,例如在下面的示例中第8行和第9行的代码注释中。

  图5

  代码由GitHub Copilot制作。通过输入行首和一堆制表符,生成了第8行和第9行。Heller输入了第10行和第11行的开头,Copilot完成了第11行。注意,第8行和第9行中生成的关于预期结果值的不正确注释

  GitHub Copilot X

  目前处于技术预览阶段的GitHub Copilot X基于GPT-4。它通过聊天和终端界面、生成单元测试的能力、生成拉取请求描述的能力以及从文档中提取解释的能力“升级”了原始的Copilot。

  GitHub Copilot X比原来的GitHub Copilot有了很大的改进,有时可以在没有太多人工帮助的情况下生成正确的函数和一组测试。它仍然会犯错误和产生幻觉,但远不如它的前身那么多。作为参考,以下是Heller写的原始Copilot。

  图6

  Heller能够让GitHub Copilot X生成大部分正确的函数和良好的参数化测试集,只需在顶部输入注释并按Enter和Tab四到五次

  IntelliSense和IntelliCode

  Microsoft IntelliSense是Visual Studio和Visual Studio代码的内置功能,它使用语言语义为短代码完成提供一个选项菜单。它通常能很好地帮助用户找到所需的API或方法调用,但往往会提供许多选择。

  IntelliCode是IntelliSense的一个增强插件,它使用在本地机器上运行的人工智能来检测代码场景——包括变量名、函数和正在编写的代码类型,并提供最好的建议,在某些情况下可提供整行补全。IntelliCode还可以帮助用户清理重复的代码,并为常见的编程任务推荐快速操作。

  IntelliCode在Visual Studio 2022中与C#、C++、Java、SQL和XAML配合使用,在Visual Studio代码中与TypeScript、JavaScript和Python配合使用。

  Kite

  Kite是2014年至2021年使用人工智能帮助开发者编写代码的早期尝试。尽管它吸引了50多万名开发者,但却从未创造任何收益。Kiteco存储库包含其大部分源代码,但有一些私有位已被XXXXX取代,因此一些代码无法运行。

  PolyCoder

  PolyCoder是卡内基梅隆大学用于代码生成的2022,27亿个参数的开源大型语言模型(见论文)。它基于GPT-2模型架构,并在12种编程语言的249GB代码上进行了训练。在C编程语言中,PolyCoder优于包括Codex在内的所有模型。

  Replit Ghostwriter

  Replit Ghostwriter于2022年万圣节发布,提供五种功能:代码完成、代码解释、代码转换、代码生成以胶带调试的错误检测,每月10美元(或多或少,取决于用户使用的“周期”数量)。它与Replit在线编辑器集成,支持Python、Ruby、JavaScript、TypeScript、HTML、CSS、Go、Lisp、Haskell、Bash、C、C++、Rust、Java和JSON。

  根据Replit公司的说法,Ghostwriter“返回由公开可用代码训练并由Replit调优的大型语言模型生成的结果。”Replit没有指定用于Ghostwriter的大型语言模型或训练语料库,这使它与Emily Bender对GPT-4的指控相同:除非Replit公开其训练数据,模型架构等,否则应该假设Ghostwriter是有毒垃圾。这也让Replit面临着与GitHub Copilot同样的“开源软件盗版”指控。

  Tabnine

  Tabnine来自总部位于以色列特拉维夫的Tabnine公司,看起来就像服用了类固醇的IntelliSense,可以选择在用户自己的代码语料库上进行训练,也可以在开源代码上进行训练。它可以在编辑器或IDE中完成整行和全功能的代码补全,支持20种这样的工具,从Visual Studiocode和IntelliJ到Emacs和Vim。

(责任编辑:admin)