Выходит инструмент дополнения кода AI, поддерживающий 23 языка и 5 основных редакторов.

искусственный интеллект
Бианс Энни из Concave Temple Qubit Produced | Публичный аккаунт QbitAI

GPT-2, невероятная языковая модель от OpenAI, теперь может использоваться для завершения кода.

Старшекурсник из Канады разработал инструмент завершения кода Deep TabNine, чтобы реализовать эту смелую идею.

Он поддерживает 23 языка программирования, 5 редакторов, прост в использовании и дает потрясающие результаты.

Многие пользователи сети, которые использовали его, сказали: TabNine — это лучший инструмент для завершения кода, который они когда-либо использовали, и он принадлежит программистам.убийственное приложение.

В магазине расширений VS Code приложение TabNine было загружено 13 000 раз и получило 5 звезд.

Поддерживается 23 языка программирования

Глубокая поддержка TabNineJava:

Python:

C++:

Haskell:

В отличие от различных других плагинов для завершения кода, Deep TabNine автоматически завершает работу в соответствии с прошлыми привычками программиста и позже дает вероятность нескольких вариантов.

Если в предыдущем проекте есть аналогичный код, TabNine также предоставит адрес непосредственно в поле кандидата на завершение, что удобно для пользователей, чтобы щелкнуть и проверить.

Помимо перечисленных выше языков, Deep TabNine также поддерживаетJavaScript,C,PHP,Go,C#,Ruby,Objective-C,Rust,Swift,TypeScript,OCaml,Scala,Kotlin,Perl,SQL,HTML,CSSиBash.

Охвачены почти все основные языки программирования.

Поддерживается 5 редакторов

Поддержка TabNineVS Code,Sublime Text,Atom,Emacs,VimПять редакторов кода.

Для использования VS Code и Sublime очень удобно установить TabNine, просто используйте встроенный инструмент управления пакетами расширений.

VS Code

VS Codeпользователь нажимаетCtrl+P(Пользователи Mac нажимают+ P), вставьте следующую команду и нажмите Enter, чтобы завершить установку.

ext install TabNine.tabnine-vscodeскопировать код

Sublime

SublimeПользовательская установка делится на два этапа:

1. НажмитеCtrl+Shift+P(пользователи Mac:+ Shift+P), выберите «Установить управление пакетами»;

2. Нажмите еще разCtrl+Shift+P(пользователи Mac:+ Shift+P), выберите Управление пакетами: Установить пакет, а затем выберите TabNine для установки.

Vim

VimУстановите с помощью менеджера плагинов Vundle:

1. ДобавитьПлагин 'zxqfl/tabnine-vim'прибыть.vimrc;

2. Ввод:PluginInstall, нажмите Enter, чтобы завершить установку.

Способы установки других редакторов не будут описываться один за другим, нуждающиеся пользователи могут обратиться по ссылкам в конце этой статьи для их установки.

Для проектов более 400 КБ необходимо приобрести лицензию: отдельные пользователи49долларов США, бизнес-пользователи99Доллар.

Поскольку Deep TabNine использует машинное обучение для завершения кода, для него требуется много вычислительной мощности (более 10 миллиардов операций с плавающей запятой), а запуск модели на ноутбуке не может обеспечить работу с малой задержкой.

Поэтому разработчики программного обеспечения ввелиTabNine CloudОблачный сервер, ускоренный с помощью облачного графического процессора. Платным пользователям не нужно доплачивать за его использование.

Так что это звучит как хорошая сделка, верно?

Сам разработчик программного обеспечения сказал, что цена не дорогая. С TabNine вы можете сэкономить одну секунду за одну минуту. Давайте посчитаем почасовую зарплату программиста. Это может сэкономить 1,4 доллара США в час, что меньше одного года. окупить.

Разработчики TabNine также предлагают 30-дневную гарантию возврата денег, если вы не удовлетворены результатами.

Как ты сделал это?

TabNine построен на основе GPT-2, архитектуры Transformer, происходящей от OpenAI, и представляет собой языковую модель «анти-неба».

Параметры GPT-2 достигают 1,5 миллиарда, объем данных в 10 раз больше, чем у первого поколения, и используется набор данных, содержащий 8 миллионов веб-страниц, всего 40 ГБ.

Дело в том, что GPT-2 может писать статьи без чувства несоответствия, он может решать различные задачи языкового моделирования в конкретных областях без специальной подготовки, а также имеет понимание прочитанного, вопросы и ответы, генерацию тезисов статей, перевод, т.п. равные способности.

В случае GPT-2 цель его обучения проста: предсказать следующее слово по всем предыдущим словам в тексте. Хотя изначально он предназначался для решения задач НЛП, кажется, что он не имеет ничего общего с написанием кода, но моделирование кода — это тоже своего родаУникальный способ понять английский.

Например, вы можете заставить модель инвертировать слова с оператором if/else:

На домашней странице проекта показано, что у TabNine есть возможность автоматически завершать код после обучения примерно 2 миллионам файлов в GitHub.

Во время обучения этой модели модель обучается сложному поведению, такому как вывод типа в динамически типизированных языках, и прогнозирует токены таким образом, что она обучена.

Авторы говорят, что TabNine может эффективно использовать тривиальные детали, которые трудно получить с помощью традиционных инструментов завершения кода.

Например, предположим, что возвращаемый тип app.get_user() — это объект с методом установки, а возвращаемый тип app.get_users() — это список с небольшой разницей между двумя именами:

Модель также может выводить имена функций, параметры и типы возвращаемых значений из документов, написанных на естественном языке:

Deep TabNine добавляет функцию, о которой ранее настоятельно просили пользователи: использование уже существующих знаний для решения проблемы завершения кода при создании новых проектов.

Например, он знает, что когда класс расширяет React.Component, его конструктор обычно вызывает параметр, называемый props, и обычно присваивает ему this.state внутри него:

Deep TabNine может даже сделать невозможное и запомнить синтаксис вариативной переадресации C++:

"убийственное приложение"

После появления TabNine его постоянно хвалили, и даже некоторые программисты были в восторге:

Блин, побольше бы такого софта. (Черт возьми. Это тот тип программного обеспечения, который я хочу видеть чаще: TabNine)

Некоторые пользователи сети сказали, что без него они не знают, как решить проблему написания кода.

Другие называют его первым «убийственным приложением» среди приложений для разработчиков:

«Впечатляет», «Это потрясающе», «Это так круто»… Комментарии в Твиттере вполне соответствуют стилю «хорошо использовать это» в телевизионных рекламных роликах.

На крупных технологических форумах некоторые пользователи сети также выдвигают предложения и направления по улучшению.

Некоторые пользователи сообщают, что есть и ложка дегтя, например, этот инструмент будет мешать автоматическому завершению брекетинга.

Автор сказал, что TabNine до сих пор обновляется и улучшается, и эти баги исправляются.

Первый горшок золота для старшеклассников

Неожиданно этот высоко оцененный инструмент кодирования появился у старшеклассника.

Джейкоб Джексон, канадец, в настоящее время изучает информатику и комбинаторную оптимизацию, а также изучает математику в Университете Ватерлоо. Я учусь на последнем курсе, выпускной в августе этого года.

Ранее Джексон писал на Reddit, что это был первый коммерческий программный продукт, который он разработал в университете.

Чужой университет, чужой первый горшочек с золотом~

Но Джексон не безызвестный, молодой и перспективный, кем был в 2014 и 2015 годахЗолотая медаль IOI два года подряд.

Поэтому, как только он поступил в университет, он стал получателем канадской олимпиадной стипендии Майкла и Офелии Лазаридис, освобождая 8 семестров от платы за обучение, книг и расходов на проживание.

В дополнение к TabNine, который автоматически завершает код, Джексон также разработал множество интересных приложений, таких как игра-головоломка под названием «желе» и Sashimi, шахматный движок, использующий поиск по дереву Монте-Карло.

портал

Веб-сайт TabNine: https://tabnine.com/blog/deep

Домашняя страница Джексона на GitHub: https://github.com/zxqfl

Резюме Джексона: http://jacobj.ca/resume.html

Заканчивать

Сообщество AI | Общайтесь с отличными людьми

Внутренний справочник по искусственному интеллекту | Фокус на развитии отрасли

КубитQbitAI · Автор, подписанный Toutiao

վ'ᴗ' ի Отслеживание новых разработок в области технологий и продуктов ИИ

Нажмите «Смотреть», если вам понравилось!