杀手级AI补代码工具问世,支持23种语言、5种主流编辑器!(附链接)

简介: 本文介绍了新开发出的“Deep TabNine“代码补全工具,支持多种编程语言和编辑器。

本文经AI新媒体量子位授权转载,转载请联系出处。

文章来源:微信公众号 数据派THU


本文介绍了新开发出的“Deep TabNine“代码补全工具,支持多种编程语言和编辑器。

GPT-2,一个来自OpenAI的逆天语言模型,现在能用来补全代码了。

一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。

它支持23种编程语言、5种编辑器,使用简单,效果惊艳。

不少使用过的网友说:TabNine是他们用过的最好的代码补全工具,这是属于程序员的杀手级应用。

image.png

在VS Code的扩展商店里,TabNine已经被下载1.3万次,获得全5星好评。

支持23种编程语言

Deep TabNine支持Java:

640 (8).gif

Python:

640 (9).gif

C++:

640 (10).gif

Haskell:

640 (11).gif

不同于各种其他代码补全插件,Deep TabNine是根据程序员过去的习惯自动补全,并在后面给出几种选项的概率。

如果有类似代码出现在之前的项目里,TabNine还会在补全候选框中直接给出地址,方便用户点击进去查阅。

image.png

除以上几种语言之外,Deep TabNine还支持JavaScript、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS和Bash。

主流编程语言几乎都囊括在内。

支持5种编辑器

TabNine支持VS Code、Sublime Text、Atom、Emacs、Vim五种代码编辑器。

对于使用VS Code和Sublime来说,安装TabNine非常方便,用自带的扩展包管理工具即可。

VS Code

VS Code用户按下Ctrl+P(Mac用户按下⌘+P),粘贴以下命令,然后按回车键完成安装。

ext install TabNine.tabnine-vscode

Sublime

Sublime用户安装分为两步:

按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Install Package Control;

再次按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Package Control:Install Package,然后选择TabNine来安装。

Vim

Vim使用Vundle插件管理器进行安装:

  • 添加Plugin ‘zxqfl/tabnine-vim’到.vimrc;

  • 输入:PluginInstall,按下回车完成安装。

其他编辑器的安装方法就不一一赘述了,有需要的用户可以参照文末的链接进行安装。

项目超过400kb需要购买许可证:个人用户49美元,商业用户99美元。

image.png

由于Deep TabNine用到机器学习补全代码,因此需要大量的算力(超过100亿次浮点运算),在笔记本上运行模型,无法获得低延迟的体验。

因此,软件开发者推出了TabNine Cloud云服务器,用云端GPU加速。付费用户不需要再加钱即可使用。

所以听起来很划算吧?

软件开发者自己就说,这个价格其实不贵,有了TabNine,一分钟就里能帮你节省一秒,咱们再算算程序员的时薪,每个小时能节约1.4美元,不到一年时间就能回本了。

如果你对效果不满意,TabNine开发者还提供30天退款保证。

怎么做到的?

TabNine是在GPT-2的基础上构建的,这是一种Transformer架构,原产自OpenAI,是个“逆天”语言模型。

GPT-2的参数高达15亿个,数据量比一代扩大了10倍,使用了包含800万个网页的数据集,共有40GB。

逆天之处就在于,GPT-2写起文章来毫无违和感,无需针对性训练就能横扫各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译等等能力。

就GPT-2而言,它的训练目标很简单:根据所有给定文本中前面的单词,预测下一个单词。虽然本来是解决NLP问题,看似与写代码没什么关联,但建模代码也算是用一种独有的方式在理解英文。

比如,可以让模型用if/else语句否定单词:

image.png

image.png

项目主页显示,在大约经过GitHub中200万个文件训练后,TabNine具备了自动补全代码的能力。

在训练这个模型期间,模型学习了例如动态类型语言中的类型推断等复杂行为,用这样的训练方式预测token。

image.png

image.png

作者表示,TabNine可以很好利用传统代码补全工具难以获取的琐碎细节。

例如,假设app.get_user()的返回类型是一个带有setter方法的对象,而app.get_users()的返回类型是一个列表,两个名称之间只有细微的差别:

image.png

这个模型还能以自然语言编写的文档来推断函数名称、参数和返回类型:

image.png

Deep TabNine加入了之前用户强烈要求加入的功能:用预先存在的知识,解决在创建新项目时的代码补全问题。

例如,它知道当一个类扩展React.Component时,它的构造函数通常会调用一个名为props的参数,并且通常在其内部用this.state赋值:

image.png

Deep TabNine甚至可以做不可能的事情,并记住C++可变参数转发语法:

image.png

“杀手级应用”

TabNine问世后,不断收获好评,甚至还有程序员激动得爆粗口:

卧槽,这种软件多来点就好了。(Fuck yeah. This is the sort of software I want to see more often: TabNine )

image.png

有网友表示, 没有它都不知道该怎么面对写代码这件事了。

image.png

还有人称之为开发者应用中的第一个“杀手级应用程序”:

image.png

“令人印象深刻”、“感到神奇”、“太酷了”……推特上的评价,颇有电视广告上“用了都说好”的画风。

在各大科技论坛上,也有网友提出了建议和改进的方向。

有用户反映,也有美中不足的地方,比如这个工具会干扰自动括号完成。

image.png

作者表示,TabNine还在不断更新完善中,正在改进这些bug。

大四学霸的第一桶金

想不到吧,这款好评如潮的代码工具,出自一名大四学生之手。

Jacob Jackson,加拿大人,目前在滑铁卢大学主修计算机科学与组合优化专业,辅修数学。大四在读,今年8月份毕业。

image.png

Jackson此前在Reddit上发帖称,这是自己在大学阶段开发的第一款商业软件产品。

别人的大学,别人的第一桶金~

但Jackson并非无名之辈,年少有为,曾在2014和2015连续两年获得IOI金牌。

因此,大学一入学,便成为加拿大Michael and Ophelia Lazaridis Olympiad Scholarship奖学金的获得者,免除了8个学期学费书费和生活费。

除了自动补全代码的TabNine,Jackson还开发了很多有意思的应用,比如一个名为jellies的益智游戏,和使用蒙特卡罗树搜索的国际象棋引擎Sashimi等。

传送门
Jackson GitHub主页:
https://github.com/zxqfl

Jackson简历:
http://jacobj.ca/resume.html

编辑:王菁

校对:林亦霖

目录
相关文章
|
2月前
|
开发框架 Java 编译器
2025年1月推荐-工欲善其事,必先利其器-程序员必备之-核心基本工具—不要看什么国际排行榜-没有用-编辑器和编译器推荐-优雅草央千澈
2025年1月推荐-工欲善其事,必先利其器-程序员必备之-核心基本工具—不要看什么国际排行榜-没有用-编辑器和编译器推荐-优雅草央千澈
86 1
|
19天前
|
人工智能 监控 自动驾驶
Migician:清北华科联手放大招!多图像定位大模型问世:3秒锁定跨画面目标,安防监控迎来AI革命!
Migician 是北交大联合清华、华中科大推出的多模态视觉定位模型,支持自由形式的跨图像精确定位、灵活输入形式和多种复杂任务。
71 3
Migician:清北华科联手放大招!多图像定位大模型问世:3秒锁定跨画面目标,安防监控迎来AI革命!
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
YuE:开源AI音乐生成模型,能够将歌词转化为完整的歌曲,支持多种语言和多种音乐风格
YuE 是香港科技大学和 M-A-P 联合开发的开源 AI 音乐生成模型,能够将歌词转化为完整的歌曲,支持多种音乐风格和多语言。
346 23
YuE:开源AI音乐生成模型,能够将歌词转化为完整的歌曲,支持多种语言和多种音乐风格
|
21天前
|
XML 机器学习/深度学习 人工智能
CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐
CLaMP 3是由清华大学团队开发的多模态、多语言音乐信息检索框架,支持27种语言,能够进行跨模态音乐检索、零样本分类和音乐推荐等任务。
47 1
CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐
|
8天前
|
缓存 人工智能 自然语言处理
微软发明全新LLM语言,AI智能体交互效率翻倍!
微软发布DroidSpeak技术,优化大型语言模型(LLM)间的通信,显著提升AI智能体交互效率。该技术通过嵌入缓存和键值缓存重用,减少预填充延迟,降低高达50%的延迟,同时保持高质量生成。DroidSpeak适用于多种AI任务,提高协作效率,但在资源受限环境和处理模型差异性方面仍面临挑战。
30 3
|
18天前
|
机器学习/深度学习 人工智能 编解码
Evo 2:基因编程AI革命!!DNA版GPT-4问世:100万碱基全解析,自动设计基因编辑器
Evo 2 是一款由 Acr 研究所、英伟达和斯坦福大学联合开发的 DNA 语言模型,可处理长达百万碱基对的序列,支持基因组设计、变异预测及合成生物学研究。
131 5
|
2月前
|
人工智能 自然语言处理 开发工具
Languine:专为开发者设计的 AI 多语言翻译工具,快速生成100+种语言的准确翻译,简化应用程序的 i18n 国际化配置
Languine 是一款面向开发者的 AI 翻译工具,支持 100+ 种语言,自动化翻译流程,提升多语言应用开发效率。
118 15
Languine:专为开发者设计的 AI 多语言翻译工具,快速生成100+种语言的准确翻译,简化应用程序的 i18n 国际化配置
|
2月前
|
人工智能 自然语言处理 计算机视觉
华为鸿蒙自己家的“AI”编辑器插件用起来到底怎么样?
编辑器AI插件如Codegeex、通义灵码等已问世,但通用性较强而不专精。华为推出的CodeGenie专为鸿蒙开发设计,集成在DevEco 5.0.0以上版本中,提供代码补全、生成等功能,尤其擅长处理鸿蒙相关问题,极大降低了鸿蒙开发的门槛。安装后需重启,支持自然语言生成代码,提升了开发效率。
86 13
|
2月前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
113 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
3月前
|
存储 人工智能 数据库
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
Codel是一款全自主AI代理工具,支持在终端、浏览器和编辑器中执行复杂任务和项目。它运行在沙盒化的Docker环境中,具备自主操作能力,内置浏览器和文本编辑器,所有操作记录存储于PostgreSQL数据库。Codel能够自动完成复杂任务,如创建项目结构、进行网络搜索等,适用于自动化编程、研究与开发、教育与培训以及数据科学与分析等多个领域。
130 11
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目

热门文章

最新文章