background-eyecatch
eyecatch

GitHubのcopilotで自然言語から関数を生成するレシピ

4.2(19)
0
avatar
ベナオ
進捗
0/0

メニュー

概要

近年TransformerというPythonの自然言語処理系ライブラリが公開されたことで、それを基盤としたGPT-3をはじめとした文章生成言語モデルが多くの企業で公開されるようになりました。

このライブラリはその膨大なモデルサイズから、チャットボットのような文脈に沿ったコミュニケーションが必要な機能においても既存のモデルにない性能を誇っていることで注目されています。

その適用範囲は対話のみならず、自然言語のプログラムコードへの変換にも応用できることが以前から言及されていました。それを可能にするサービスとして公開されたのが、OpenAIのcodexやGitHubのcopilotになります。

例えば以下の画像はVScodeにcopilotを導入した時の例です。1行目のコメントに英語で「円周率を求める関数」の説明を入れています。

そして「def process」とPythonの関数記述の際の文法を入力すると、続きの処理が丸ごと提案されます。この関数を実行してみると。

このように実際に円周率が計算されていることがわかります(この例では8桁までの計算精度)。

プログラミングでは実装したい目的の処理を実際のプログラムコードに置き換えることが、入門者にとって大きな壁と言われています。そのような時にこの予測機能は補助として有用だと考えられます。

さらに上記の例ではPythonの場合を説明していますが、他にもJavaScript・TypeScript・Ruby・Goでうまく機能するとリファレンスには記述があります。未経験の言語を習得する際の補助としても有用です。

本レシピではcopilotの申請方法からVScodeへの導入方法、実際の関数自動生成までを解説します。

学べること

  • GitHubのcopilotの申請・利用方法を学べる
  • 自然言語による指定のみで関数を生成する方法を学べる

始める前のスキルセット

  • python基本文法

実務活用例

  • 経験の浅いエンジニアの研修・学習に取り入れられる
  • 一般的な処理の関数の自動生成により開発全体の効率化につながる

キッチン

開発環境

  • Python3.7(または3.8)推奨

ツール

  • GitHub
  • VScode
  • Tweepy 3.7.0~3.10.0

データセット

学習済みのモデルが組み込まれたプラグインを使用するので不要

調理

テスト

copilotの機械学習モデルのベースとなるライブラリを以下から選んでください。

意図した処理の関数を生成するために重要なことで誤っているものを次から選んでください

copilotの説明で誤っているものを次から選んでください。