折角GitHubの設定を行ったので、この機会に「GitHub Copilot」をRStudioに導入し、ついでに、毎日ブラウザでお世話になっている「ChatGPT」もRStudioに入れてみることにしました。
「どっちかだけでいいんじゃないの?」
と、自己ツッコミした私⋯⋯まずは両方いれるメリットがあるかどうか調べてみました。
一応、GitHub Copilot と ChatGPT は両方ともAIによるコード記述サポートツールといえる点は共通だと思いますが、RStudioで使うにあたり、多少違いもあるようです。
双方の得手不得手は、こちらのサイトで詳しく比較されていました。▼
Did you know that nearly 90% of people prefer doing their work by others? We all strive to delegate tasks and focus on more important aspects of our work. Luckily, in software development, artificial intelligence has introduced a game-changing solution: AI code-writing assistants.
そして、両方入れる事で効率化が更に進む、とこちらのサイトで言っていたので、
とりあえず両方入れて試してみようと思います。
GitHub CopilotとChatGPTのざっくりとした違い
GitHub Copilot
Copilotは、GitHubのAIによるコーディングアシスタント。
色々と機能はあるけれど、最も重宝されている機能は、IDEで入力したコードを基に、次に必要なコードを自動で考えて提示してくれるところ。
OpenAIのGPT-4の自然言語予測モデルを使用している。
プロジェクトの初期段階から使用することで、関数や変数名、アルゴリズムを自動生成し、その人のコーディングスタイルに合わせた提案をしてくれるらしい。
機械学習を行うので、書いたコードから学習し、時間とともに精度が向上する。
これまでRに対応していなかったのだけれど、去年RStudioで使えるようになった。
その他の対応言語は下記。
- Python
- JavaScript
- TypeScript
- Ruby
- Go
- PHP
- Swift
- Kotlin
- Rust
- C#
- C++
- Java
- HTML/CSS
- SQL
GitHub Copilotはサブスクリプション制で 10ドル/月。
けれど、1回に限り、30日間無料で試す事ができる。
ChatGPT
ChatGPTは、OpenAIが開発した自然言語予測モデル。
その名が示すとおり、「チャット」のように対話ができ、欲しい情報を探して提示してくれる。
RStudioにもいくつかのChatGPTを使ったパッケージがある。
無料版(GPT-3.5)もあるけれど、有料版(GPT-4*)の方が俄然性能がよい。
有料版はサブスクリプション制で20ドル/月。
両者の共通点と相違点
詳細は下記参照▼
Did you know that nearly 90% of people prefer doing their work by others? We all strive to delegate tasks and focus on more important aspects of our work. Luckily, in software development, artificial intelligence has introduced a game-changing solution: AI code-writing assistants.
GitHub CopilotをRStudioで使うための手順
GitHub CopilotをRStudioに使うための手順は下記のとおり。
- Copilotをサブスクリプション
- 最新のRStudio Desktopをインストール
- Tools > Global Options > Copilotで、"Enable GitHub Copilot"
- GitHub Copilot Agentをインストールして、サインイン
Copilotをサブスクリプション
GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.
最初の30日間は無料トライアル。その後は10ドル/月(もしくは100ドル/年)のサブスクリプション。
インストラクションに沿って、個人の情報を入れていき、All set!
最新のRStudio Desktopをインストール
下記参照。
Rは統計解析等に強いプログラミング言語。 RStudioは、Rを使うための総合開発環境(IDE)の一つ。 両方とも無料でダウンロードできる。 Rのダウンロード/インストール Rのダウンロード CRANウェブサイトへ。 私 …
Tools > Global Options > Copilotで、"Enable GitHub Copilot"
RStudioで、「Tools」→「Global Options」。
「Copilot」で、「Enable GitHub Copilot」を選択。
GitHub Copilot Agentをインストールして、サインイン
GitHub Copilot Agentをインストールして、サインインする。
「Verification code」が表示されるので、コピーして、GitHub Copilotのサイトに戻り、入力。
これで、RStudioでGitHub Copilotを使う準備が整った。
Copilotを使ってみた!
設定が終了したらすぐに使えるようになる。
試しに、"tidyverse" etc.をインストールしようとすると、次に必要そうなコードをCopilotが自動で生成してくれた。
Copilotのsuggestionはグレーで表示され、それでOKだったら「Tab」キーを押す。すると、suggestionされたコードが挿入される。
これは便利!
ChatGPTをRStudioで使うための手順
続いて、既にサブスク済みで、毎日のようにお世話になっている、「ChatGPT」もRStudioに入れてみる。
ChatGPTのパッケージはいくつかあるみたいだけど、ここでは一番推薦されていた「chattr」を使ってみる。
chattrがオススメな理由いろいろ
- RStudioで作成されたので互換性がよい。
- Chat boxにReference付き便利な情報を送ってくれる。
- ChatGPT以外のソースからの情報を取得することもできる。
そして、ChatGPTをRStudioに入れる手順は下記のとおり。
- (Optional)ChatGPTをサブスクリプション
- GitHubからchattrパッケージをインストール
- OpenAIのAPI keyを取得
- OpenAI APIへサインイン
- Personal > View API keys > Create a new secret key
- chattr_app() functionでチャットスタート
(Optional)ChatGPTをサブスクリプション
※GPT3.5は無料で使えるけど、断然4oの方が賢いので、サブスクリプションしたほうが良いと思う。
We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests.
GitHubからchattrパッケージをインストール
スクリプトに下記を入れて実行。
install.packages("remotes")
library(remotes)
remotes::install_github("mlverse/chattr")
library(chattr)
下記のように聞かれる。
output
> remotes::install_github("mlverse/chattr")
Using GitHub PAT from the git credential store.
Downloading GitHub repo mlverse/chattr@HEAD
These packages have more recent versions available.
It is recommended to update all of them.
Which would you like to update?
1: All
2: CRAN packages only
3: None
4: curl (5.2.3 -> 6.0.1) [CRAN]
Enter one or more numbers, or an empty line to skip updates:
コンソールの「Enter one or more numbers, or an empty line to skip updates:」の後ろに「1」を入れて「Enter」。
OpenAIのAPI keyを取得
OpenAI APIへサインイン。
The OpenAI API provides a simple interface to state-of-the-art AI models for natural language processing, image generation, semantic search, and speech recognition. Follow this guide to learn how to generate human-like responses to natural language prompts, create vector embeddings for semantic search, and generate images from textual descriptions.
「Personal」→「View API keys」→「Create a new secret key」。
2FA用の電話番号を入れ、
届いたコードを入力。
secret keyの名前を適当につけて、「Create secret key」。
「secret key」が作成されるので、コピー。
RStudioに登録
RStudioに戻り、スクリプトに下記を入れて実行。
Sys.setenv(OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
何も変化がないけど、鍵が登録され、ChatGPTをRStudioで使う準備が整った。
chatter_app()で開始
いよいよchatter_app()
と入れて、「chattr」を使ってみる。
chattr_app()
最初に下記のように聞かれる。
output
── chattr - Available models
Select the number of the model you would like to use:
1: OpenAI - GitHub Copilot Chat - gpt-4 (copilot)
2: OpenAI - Chat Completions - gpt-3.5-turbo (gpt35)
3: OpenAI - Chat Completions - gpt-4 (gpt4)
4: OpenAI - Chat Completions - gpt-4o (gpt4o)
Selection:
「1: OpenaAI - GitHub Copilot chat -gpt-4 (copilot)」を選択(「Selection: 」の後ろに「1」を入れて「Enter」)。
すべての設定が整ったら、右下の「Viewer」のタブにChatGPTとチャットするためのボックスが現れる。
chattrを使ってみた!
実際に使ってみた様子がこちら。
一度API keyを登録したら、次回からは"shiny"と"chattr"をインストールし、chattr_app()
を実行するだけで使える。
chattr boxに質問を入れて「Shift + Enter」。もしくはchattr boxの隣にある「Submit」ボタンを押すと、質問が下にコピーされ、回答が返ってくる。
suggestionされたコードをコピーしてスクリプトに貼り付けたり、「Tab」キーで挿入することもできる。
これも便利!
まとめと感想
今回、GitHub CopilotとchattrをRStudioに入れてみました。
今のところ、両方ともかなり重宝しています。
どちらか一つと言われたら、Copilotの方が便利かもなーと思います。
こちらのクセを読んで、高い確率でほしいコードを補完してくれるので、かなりの時短になります。
また私の場合、ChatGPTを別ブラウザを立ち上げておくことにそこまで抵抗がない、というのも一因かもしれません。
でも電車や出張先など、ラップトップ一つで作業するときには、やっぱりchattrの利便性を実感することになるんじゃないかなー、と思いました。