Когда я посетил GitHub сегодня, я обнаружил, что GitHub имеет новую функцию под названием GitHub Copilot, которая может помочь нам писать код автоматически!
URL-адрес:copilot.github.com/
После нажатия вы увидите несколько привлекательных персонажей — ваш программист пары ИИ, ваш партнер по программированию искусственного интеллекта.
Вот несколько примеров этого:
Какой искусственный интеллект?
Первые 7 строк здесь написаны людьми, а следующие 17 строк написаны искусственным интеллектом.
Что нам нужно написать? Давайте рассмотрим этот пример подробно.
Сначала создайте файл mind.ts, затем импортируйте пакет Node.js с именем fetch-h2 и напишите две строки комментария:
// Determine whether the sentiment of text is positive
// Use a web service
Что это обозначает? Это просто заметка, чтобы написать то, что я хочу написать, и перевод выглядит следующим образом:
-
Определите, положительное или отрицательное отношение заключено в предложении. (Например, «Я так счастлив» содержит положительные эмоции, а эмоция, содержащаяся в предложении, положительная; например, «Ты слишком плохой» содержит отрицательные комментарии, а эмоция в предложении — отрицательная.)
-
Реализовано с помощью веб-сервисов.
Затем определите объявление метода:
async function isPositive(text: string): Promise<boolean>
Ушел.
Я импортировал пакет, а затем написал два комментария для определения параметров и возвращаемого значения метода — это все, что делают люди.
Затем GitHub Copilot может помочь нам написать код, который выглядит следующим образом:
const response = await fetch(`http://text-processing.com/api/sentiment/`, {
method: "POST",
body: `text=${text}`,
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
const json = await response.json();
return json.label === "pos";
}
Да, он разумно анализирует написанные нами комментарии и объявления методов, а затем пишет код.
Здесь вызывается API, а затем автоматически строится POST-запрос для получения возвращаемого результата, а затем сравнивается, является ли метка возвращаемого результата pos.Если да, то это означает, что предложение содержит положительную программу, и возвращает false не является положительной эмоцией.
Хоть уровень детализации и средний, обработки исключений нет или что-то в этом роде, но это уже весьма примечательно, не так ли?
-
На самом деле он точно понимает два требования, которые мы описываем в комментариях.
-
На самом деле он знает, какие вызовы API оценивают эмоциональную информацию текста.
-
На самом деле он может написать метод JavaScript без синтаксических ошибок.
Потрясающий!
Конечно, он может писать не только на JavaScript, но и на многих других языках, рассмотрим на примере Python.
Здесь мы создаем новый файл parse_expenses Python, затем определяем метод parse_expenses, получаем параметр с именем Costs_string, а затем пишем комментарии следующим образом:
"""
Parse the list of expenses and return the list of triples (date, value, currency).
Ignore lines starting with #.
Parse the date using datetime.
Example expenses_string:
2016-01-02 -34.01 USD
2016-01-03 2.59 DKK
2016-01-03 -2.72 EUR
"""
Я написал это здесь, разобрать следующие три строки данных о потреблении, а затем вернуть дату, значение и единицу измерения, При этом требуется игнорировать строку, начинающуюся с #, а время должно быть разобрано по дате и времени. библиотека.
Затем ИИ помог нам написать следующий код:
expenses = []
for line in expenses_string.splitlines():
if line.startswith("#"):
continue
date, value, currency = line.split(" ")
expenses.append((datetime.datetime.strptime(date, "%Y-%m-%d"),
float(value),
currency))
return expenses
Я был ошеломлен после просмотра, он сделал все это!
-
Скажи это, чтобы игнорировать линии, начиная с #, и он добавляет суждение
-
И он разумно анализирует формат следующих трех строк данных, а затем знает, как разделить их пробелами.
-
После разделения он также знает, как использовать datetime для разбора даты, и он также знает, что это за формат.Горизонтальная линия используется в середине года, месяца и дня.
-
Значение также автоматически преобразуется в тип с плавающей запятой.
-
Наконец, кортеж формируется и возвращается
Просто я не могу поверить, что это было написано ИИ. Я чувствую, что это вопрос для интервью, и люди не обязательно могут написать его хорошо в свое время. ИИ сделал все это!
Этот.
Конечно, помимо JavaScript и Python, в нем также будет много языков, таких как Go, Ruby и TypeScript.
Какая технология стоит за этим?
Глядя на введение на официальном сайте, говорится, что он основан на OpenAI, Официальные слова следующие:
Trained on billions of lines of public code, GitHub Copilot puts the knowledge you need at your fingertips, saving you time and helping you stay focused.
Это переводится как:
GitHub Copilot 接受了数十亿行公共代码的训练,让您所需的知识触手可及,从而节省您的时间并帮助您保持专注。
Так или иначе, они обучили модель, которая использовала миллиарды строк кода в качестве входных данных для обучения, и в конечном итоге узнали, как люди пишут код.
Эта волна может.
Чиновник также сказал тогда:
GitHub Copilot особенно хорошо подходит для написания Python, Go, Ruby, JavaScript, TypeScript, и теперь он выпущен в виде плагина в VS Code. Когда мы пишем CODE, этот плагин взаимодействует с моделью Openai, а затем содержимое, которое вы видите, поможет нам автоматически написать нужный код. Основной процесс выглядит следующим образом:
Молодец, тогда сразу скачаю.
Перейдите в VS Code и найдите Copilot, ведь у него более 100 000 загрузок.
После его установки он попросил меня зайти на GitHub для авторизации, а после входа выскочило печальное сообщение:
Пишет, что у меня нет разрешения на его использование, пожалуйста, посетитеcopilot.github.comПрименить, если внесен в белый список.
То есть он еще не полностью открыт для использования, и вам нужно подать заявку на его использование.
Итак, я пошла подать заявку и нажала кнопку «Зарегистрироваться» на сайте, теперь я в листе ожидания, и я смогу им воспользоваться, когда пройду, как показано на рисунке:
Если вы заинтересованы, пожалуйста, подайте заявку сейчас!
Для более интересного контента, пожалуйста, обратите внимание на мои публичные аккаунты «Coder of Attack» и «Cui Qingcai丨Jing Mi».