Новое на GitHub! Может помочь нам писать код автоматически

искусственный интеллект открытый источник GitHub
Новое на GitHub! Может помочь нам писать код автоматически

Когда я посетил 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».