京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

LLMでR言語を学ぼう 〜2023年の大革命、ゼロからプログラミングを学ぶLLM入門編〜

はじめに

人類がこれまでに作成した文書の総量を正確に計測することは非常に困難です。しかし、間違いなく、過去から現在にかけて書籍、学術論文、ウェブコンテンツ、メール、ソーシャルメディアの投稿といった様々な形態で膨大な量のテキストベース情報が存在しています。こういうのを真の意味で「ビッグデータ」と言うのかもしれません。

現在、インターネット上でアクセス可能な広範囲のテキストデータは、数十テラバイトに及ぶと言われている(GPT-4による2023年4月頃の情報: おそらく学習データに使ったであろうテキスト量と予想される)。

ただ、これらインターネット上のテキストでさえ、テキストの巨大な集合(一般に「コーパス(corpus)」ともいう)、今日まで世の中に生成されたテキスト全体のごく一部に過ぎません。

しかしながら、一般的な人間の学習プロセスにおいては、この数十テラバイトのテキストデータを使うことだけで、すでに十分過ぎる解が得られる可能性があります。

なんだか、Wikipediaが登場した初期に似ているように思えます。20年くらい前の当時、Wikipediaはすでに巨大な規模でしたが、正確性や信憑性にはいくつかの問題が指摘されていました。しかし、当時すでにWikipediaは無償で運営されていたということもあり、それは専門書を手に取って学習するのと同等、もしくはそれ以上の価値がすでにあったのかもしれません。当時は一部の人しか真剣には考えてなかったように思います。

つまり、このデータ量は一般人にとっては「十分過ぎるよね」というレベルに達していると言えるでしょう。

端的に言えば、大規模言語モデル(LLM)の登場は、この数十テラバイトのテキストデータとヒトがコミュニケーションをする、新たな方法を提供したということです。

LLMの基礎となるモデルは「データの集合体から法則性や一般的な原則を導き出す推論する」といった帰納法に基づいています。LLMで導き出された解は、この数十テラバイトのテキストデータをBackendとして出てきた答えということになります。(実際のindexingは不明なのでまぁイメージなんですが。。)

長々と前置きを書いてしまいましたが、この辺りにして、この大規模テキストデータとの対話を通じて、R言語の学習を進めていきましょう。

LLMのモデルのなかには、過去の賢者の試行錯誤が刻み込まれていて、きっと我々をスリリングな毎日に誘惑してくれます。すでに、それは、LLMのなかに広がっているはずです。

この記事の引用部分は、LLM(GPT-4)の出力結果を書いています。補足として、私が使用しているGPT-4モデルはカスタムインストラクションを設定して、データ分析、バイオインフォ、R言語に特化させているので、通常のGPT-4よりも専門的な受け答えかもしれません。

出力結果のリンクも貼っておきます。

ChatGPT

R言語をやる目的は何か?

Rを使う目的は様々ですが、いまのトレンドだとデータ解析と可視化でしょうかね。

まずは、R言語をやる目的は何か?と問いかけてみます。その出力結果を見てみます。

LLM / GPT-4! R言語は、統計解析、データサイエンス、グラフィカルなデータ表示などに特化したプログラミング言語です。この言語の主な目的は以下の通りです:

  1. 統計解析: Rは統計解析のために広く使用されています。基本的な統計から高度な分析まで、幅広い統計手法がサポートされています。

  2. データ処理: データのインポート、クリーニング、変換、そしてエクスポートが容易にできます。Rは様々なデータ形式を扱うことができます。

  3. データの可視化: Rにはggplot2のような強力なデータ可視化パッケージがあり、複雑なデータを視覚的に表現することができます。

  4. 機械学習とデータマイニング: Rは機械学習アルゴリズムの開発と実装にも使われます。予測モデリング、クラスタリング、パターン認識などが行えます。

  5. リサーチと教育: 学術研究や教育の分野で広く使われています。特に統計や生物統計学において重要なツールです。

  6. バイオインフォマティクスと生物統計学: 遺伝学、ゲノム学、エピジェネティクスなどのバイオインフォマティクスの分析にも利用されます。

  7. レポート作成と出版: R MarkdownやShinyなどのツールを使って、分析結果をレポートやインタラクティブなウェブアプリケーションとして簡単に共有できます。

8.拡張性: Rはオープンソースであり、世界中のコミュニティによって多くのパッケージが開発されています。これにより、新しい手法やアプローチを簡単に取り入れることができます。

R言語はこれらの目的のために使われ、科学研究、ビジネス分析、金融、社会科学など多岐にわたる分野で活用されています。

何を学ぶか?

一般的にプログラミング学習では何を学ぶべきか?特に、R言語では何を学ぶべきか?

対象の言語の目的に加えて、この問いも、学ぶ前に知っておく必要がありそうなことですね。

そこで、一般的にプログラミング学習では何を学ぶべきか?特に、R言語では何を学ぶべきか?と訊いてみます。その結果です。

LLM / GPT-4!

プログラミング学習では、基本的な概念と特定の言語の特性を理解することが重要です。特にR言語に関しては、以下の点に焦点を当てると良いでしょう。

一般的なプログラミングの学習ポイント

1.基本的なプログラミング概念:

・変数とデータ型

・演算子と式

・制御構造(if-else文、ループ)

・関数とサブルーチン

・クラスとオブジェクト指向プログラミング(言語による)

2.アルゴリズムとデータ構造:

・基本的なアルゴリズム(ソート、検索)

・データ構造(配列、リスト、スタック、キュー、木構造)

3.ソフトウェア設計とアーキテクチャ:

・モジュラープログラミング

・ソフトウェア設計パターン

4.バージョン管理:

・Gitなどのバージョン管理ツールの使用

5.デバッグとテスト:

・プログラムのデバッグ方法

・単体テストと統合テスト

6.データベースとSQL:

・基本的なデータベースの理解

・SQLの基礎

R言語に特化した学習ポイント

1.Rの基本:

・Rの基本的な構文

・データ型とオブジェクト(ベクター、マトリクス、データフレーム、リスト)

2.データ操作と処理:

・dplyrやtidyrのようなパッケージを使用したデータの操作と変換

・日付と文字列の操作

3.統計解析:

・基本的な統計(平均、中央値、標準偏差など)

・線形回帰、ロジスティック回帰、ANOVAなどの統計モデリング

4.データの可視化:

・ggplot2を使用したデータのグラフィカルな表示

・プロットのカスタマイズ

5.パッケージの利用:

・CRANやBioconductorのパッケージのインストールと利用

6.レポート作成:

・R MarkdownやShinyを使用した動的なレポート作成とプレゼンテーション

7.バイオインフォマティクスとの関連:

・遺伝学、ゲノミクス、エピジェネティクスなどでのRの応用

これらのポイントを学ぶことで、プログラミング全般の基礎とR言語の特徴をしっかりと理解することができます。また、特にR言語ではデータサイエンスと統計解析の側面が強いため、これらの分野に関する知識も深めることが重要です。

ゼロから何を学べばよいか?

ここまでは、R言語の一般的な説明であったのではないかと思います。

そこで、つぎには、もっと、プログラミング学習を進めると言う視点でプロンプトを書いてみます。

例えば、こんな感じのプロンプトでしょうか。 R言語の初心者がゼロからRを学ぶ時には何から始めるべきか?心得と注意点、またRを学びカリキュラムを作成して。

この出力結果を見てみます。

LLM / GPT-4! R言語の初心者がゼロから学ぶ際のスタートポイント、心得、注意点、そして学習カリキュラムを以下に示します。

R言語学習のスタートポイント

  1. RとRStudioのインストール: R言語本体と、RStudioという統合開発環境(IDE)をインストールします。

  2. 基本的なRのコンセプト理解: Rの基本構文、データ型、基本操作を学びます。

  3. 簡単なデータ操作と関数の使用: ベクトル、リスト、データフレームの操作方法を学びます。

  4. 基本的なデータの可視化: ggplot2などのパッケージを使用して基本的なグラフを作成します。

心得と注意点

  1. 段階的に学習: 一度に多くのことを学ぼうとせず、基礎から順を追って学びましょう。

  2. 実践的な学習を心がける: 理論だけでなく、実際にコードを書いてみることが重要です。

  3. エラーメッセージは学習の機会: エラーは避けられません。エラーメッセージを読み、解決方法を探ることで学びが深まります。

  4. コミュニティを活用する: Rのコミュニティは活発で、多くのリソースがあります。疑問点はコミュニティで質問しましょう。

  5. 定期的に復習する: 新しいことを学んだら、定期的に復習し、理解を深めます。

学習カリキュラム

週 1-2: RとRStudioの基本

・RとRStudioのインストール

・RStudioのインターフェイスに慣れる

・基本的なRのコマンド(算術演算、変数の割り当て)

週 3-4: データ型と構造

・ベクトル、リスト、データフレームの理解と操作

・基本的なデータ操作(選択、フィルタリング、並べ替え)

週 5-6: 基本的なデータ処理

・dplyrとtidyrを使ったデータ処理の基礎

・基本的な統計関数(平均、中央値、分散)

週 7-8: データの可視化

・ggplot2を使用した基本的なグラフの作成

・異なる種類のプロット(散布図、ヒストグラム、箱ひげ図)

週 9-10: レポート作成とデータのインポート・エクスポート

・R Markdownの基本

・CSV、Excelなどのデータのインポートとエクスポート

週 11-12: 複雑なデータ操作と可視化

・より高度なdplyrとggplot2の機能

・実際のデータセットでの演習

週 13-14: 基本的な統計解析

・線形回帰モデル

・t検定、ANOVAなどの基本的な統計テスト

週 15-16: プロジェクト

・これまでに学んだことを活用して、小規模なデータ分析プロジェクトを実行

このカリキュラムは、基本的なRの操作から始まり、徐々に高度なトピックに進んでいきます。学習の進行に応じて、自分の興味や必要性に合わせてカリキュラムを調整するのも良いでしょう。

最低限、R言語の何を学べば、実践に移行できるのか?

立派なカリキュラムができてきました。 よしこの通りに学習を進めてやっていけば、、、、、、おそらく初心者は挫折しますよねwww

私からのアドバイスとしては、 もっとR言語のエッセンスを学んで、早めに中級に移行しておくことがオススメです。

実際のところ、プログラミングは学習時ではなく、実戦時でしか、学べないことがたくさんあります。そのため、早く実践に移行することが上達へのカギです。

なので、こう言ったことを新たに質問してみます。

初心者が最低限学ぶべき、R言語のエッセンスは何か?初心者がゼロから中級者に、あるいはより実践ステップに移行していくための最短経路を提示してください。また、それに至るための最適化された学習カリキュラムを提案してください。例えば、1ヶ月以内に完了できることが望ましいです。

LLM / GPT-4! R言語を学ぶ上で初心者が最低限身につけるべきエッセンスと、それを基にした1ヶ月間の集中学習カリキュラムを以下に提示します。

R言語のエッセンス

1.基本構文とデータ型の理解:

・変数の宣言と基本的なデータ型(数値、文字列、論理値)

・ベクトル、リスト、データフレーム

2.データの操作と変換:

・データの選択、フィルタリング、並べ替え

・基本的なデータ操作関数(apply系関数、dplyrパッケージ)

3.基本的なデータの可視化:

・ggplot2を使用した基本的なグラフの作成(散布図、棒グラフ、折れ線グラフ)

4.簡単な統計分析:

・基本的な記述統計(平均、中央値、標準偏差)

・線形回帰モデルの理解と実装

1ヶ月間の集中学習カリキュラム

週 1: Rの基本

・目標: RとRStudioの環境設定、基本構文と操作の理解

・内容: RとRStudioのインストール、Rの基本的なコマンド、データ型(ベクトル、リスト、データフレーム)

週 2: データ操作

・目標: データの操作と変換の基本技術の習得

・内容: dplyrを使用したデータの選択、フィルタリング、並べ替え、集約

週 3: データの可視化

・目標: 基本的なデータ可視化技術の習得

・内容: ggplot2を使った基本的なグラフの作成、カスタマイズ

週 4: 統計分析の基礎

・目標: 基本的な統計分析技術の習得

・内容: 記述統計、線形回帰モデルの実装と解釈

学習方法とリソース

・実践的なアプローチ: 理論だけでなく、実際のデータセットを使用して練習する。

・オンラインリソース: 「R for Data Science」(Hadley Wickham著)や「The R Book」(Michael J. Crawley著)などの教科書、オンラインチュートリアル、R関連のブログやフォーラムを利用する。

・実例に基づく学習: Kaggleやその他のデータサイエンスプラットフォームで提供される実際のデータセットを使用して、所学を実践する。

・継続的な復習と練習: 毎週学んだことを復習し、練習問題やプロジェクトに取り組む。

このカリキュラムは、初心者がR言語の基本を習得し、中級者レベルまたは実践的なスキルへと移行するための最短経路を提供します。重要なのは、理論的な学習と実践的な演習をバランスよく組み合わせ、継続的に学習することです。

これで、だいぶ現実的なカリキュラムができてきましたね。これで、順々にLLMに入力して、R学習を進めていく形でしょうね。

また、気が向いたら、続きをやってみることにしましょう。

まとめ

今回、LLMで、初心者がゼロからR言語を学ぶためのカリキュラムを作成しました。あとは、あなたが順々に実行してくだけです。

LLMを使っていると、思考の整理、問いを持つこと、さらには真を突く深い問いを持つことがどれだけ大事かということを再確認できます。

MacでOpen-interpreterのインストールとR言語の実行について: Macターミナル上でLLMを動かしてみよう

この記事の音声読み上げ

VOICEVOX:冥鳴ひまり

はじめに

Open Interpreterは、自然言語で指示を与えることでコードを書き、実行まで行ってくれるツールであり、これはローカル環境にインストールすることで利用可能となる、OpenAI社のCode Interpreter(Advanced Data Analysis)のオープンソース版と言えます。

github.com

例えば、Macのターミナル上でOpen Interpreterをインストールすることで、大規模言語モデル・Large Language Model (以下、LLM) を利用することができるようになります。

GPT-4を使用するには、OpenAIのAPIキーが必要ですが、Code Llamaというローカルで動作するコード生成モデルも無料で利用可能であり、ただし、インストールと適切な計算環境の設定が必要です。

今回は、macOSにOpen Interpreter(バージョン open-interpreter-0.1.6 & openai-0.28.1)をインストールし、その設定とターミナル上でのGPT-4の動作を確認した結果を報告します。

ターミナル上でのローカル実行は、多くの利点をもたらすかもしれません。。

プレインストールの設定

Open InterpreterはPythonのライブラリであるため、pipコマンドを使用してインストールを行います。

初めに、Pythonとpipのバージョンを確認しましたが、私の環境では、minicondaを使用してインストールされたPython 3.9.12とpip 21.2.4が利用されていました。しかし、これらのバージョンはOpen Interpreterとの相性が良くないことが判明しました。

こんな状況でした。

 

(このとき、バージョン確認で実行したコマンドは以下の通りです。)

# バージョン確認コマンド
which python
#/Users/sas/miniconda/bin/python

python -V
#Python 3.9.12

which pip
#/Users/sas/miniconda/bin/pip

pip -V
#pip 21.2.4 from /Users/sas/miniconda/lib/python3.9/site-packages/pip (python 3.9)

そのため、Pythonとpipの最新版をインストールし、私は/opt/homebrew/binにあるpip3.11を使用しました。

/opt/homebrew/bin/pip3.11 -V
#pip 23.2.1 from /opt/homebrew/lib/python3.11/site-packages/pip (python 3.11)

open-interpreterのインストールと設定

インストールはpipコマンドを使用し、open-interpreterを指定します。 私の環境ではパスが通っていないため、フルパスでpipコマンドを実行しました。

#インストール
/opt/homebrew/bin/pip3.11 install open-interpreter

#アップグレード時
/opt/homebrew/bin/pip3.11 install --upgrade open-interpreter

インストールが完了したら、ヘルプを表示して動作を確認します。

このバージョンでは、すでに、--versionの引数は廃止されているようです。

ヘルプ表示の実行結果は以下の通りです。

# ヘルプ表示
$ interpreter -h        

usage: interpreter [-h] [-s SYSTEM_MESSAGE] [-l] [-y] [-d] [-m MODEL]
                   [-t TEMPERATURE] [-c CONTEXT_WINDOW] [-x MAX_TOKENS]
                   [-b MAX_BUDGET] [-ab API_BASE] [-ak API_KEY] [--config]
                   [--conversations] [-f]

Open Interpreter

options:
  -h, --help            show this help message and exit
  -s SYSTEM_MESSAGE, --system_message SYSTEM_MESSAGE
                        prompt / custom instructions for the language model
  -l, --local           run in local mode
  -y, --auto_run        automatically run the interpreter
  -d, --debug_mode      run in debug mode
  -m MODEL, --model MODEL
                        model to use for the language model
  -t TEMPERATURE, --temperature TEMPERATURE
                        optional temperature setting for the language model
  -c CONTEXT_WINDOW, --context_window CONTEXT_WINDOW
                        optional context window size for the language model
  -x MAX_TOKENS, --max_tokens MAX_TOKENS
                        optional maximum number of tokens for the language
                        model
  -b MAX_BUDGET, --max_budget MAX_BUDGET
                        optionally set the max budget (in USD) for your llm
                        calls
  -ab API_BASE, --api_base API_BASE
                        optionally set the API base URL for your llm calls
                        (this will override environment variables)
  -ak API_KEY, --api_key API_KEY
                        optionally set the API key for your llm calls (this
                        will override environment variables)
  --config              open config.yaml file in text editor
  --conversations       list conversations to resume
  -f, --fast            (depracated) runs `interpreter --model gpt-3.5-turbo`

Open-interpreterの使用

続いて、実際に、Open-interpreterを使ってみます。

コマンドはinterpreterで、その基本的な使用方法として、-y-m [モデル名]--api_key [OpenAI APIキー]を引数として指定して使います。

# 基本コマンド
interpreter -y -m [モデル名] --api_key [APIキー]

しかし、どうも困ったことに、GPT-4のモデルが正しく指定されないようです。

これはバグかどうか不明ですが、将来のアップデートで修正されることを期待しています。

使用したAIモデルに質問したら、彼はGPT-3.5のようです。

日本語と英語の両方で実行が可能であることが確認されましたが、GPT-3.5なら、英語で使うのが無難ですね。

続いて、実行例として、以下のプロンプトを実行しました。

日本語プロンプト: 
R言語で主成分分析のコードを示してください。Rコードも示してください。  

下図がプロンプトの実行結果です。

1枚目

2枚目

結果 3枚目

結果 4枚目

結果 5枚目

英語プロンプト: 
Please show the code for Principal Component Analysis in R. Please also show the R code.  

下図がプロンプトの実行結果です。

英語プロンプトでの結果

まとめ

今回の環境では、なぜかGPT-4を使用することができず、ガクッとやる気が落ちましたけど、、、

作成したコードを、ローカル環境でコード実行できる魅力は非常に大きいものがあります。

とりあえず、今後に期待しています。

M1 Macでstream resultが制御できないバグについて

LLM実行時にstream resultが制御できずに、debug_modeが常に走ってしまうバグについて、 解決方法がGitHubで議論されていて、litellmのアップグレードで回避できるようです。

#litellmのアップグレード(litellm-0.9.2)
/opt/homebrew/bin/pip3.11 install --upgrade litellm 

#...
#ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour #is the source of the following dependency conflicts.
#open-interpreter 0.1.9 requires litellm<0.8.0,>=0.7.5, but you have litellm 0.9.2 which is incompatible.
#Successfully installed litellm-0.9.2

github.com

補足: interpreter -yでの実行時の表示

interpreter -y を実行

補足: Code-Llamaに進んだ場合のメッセージ

───────────────────────────────────────────────────────────────────────────────────────────────

▌ OpenAI API key not found                                                                   

To use GPT-4 (recommended) please provide an OpenAI API key.                                   

To use Code-Llama (free but less capable) press enter.                                         

───────────────────────────────────────────────────────────────────────────────────────────────

OpenAI API key: 

▌ Switching to Code-Llama...                                                                 

Tip: Run interpreter --local to automatically use Code-Llama.                                  

───────────────────────────────────────────────────────────────────────────────────────────────

Open Interpreter will use Code Llama for local execution. Use your arrow keys to set up the    
model.                                                                                         

[?] Parameter count (smaller is faster, larger is more capable): 7B
 > 7B
   13B
   34B

[?] Quality (smaller is faster, larger is more capable): Small | Size: 2.6 GB, Estimated RAM us[?] Quality (smaller is faster, larger is more capable): Medium | Size: 3.8 GB, Estimated RAM u[?] Quality (smaller is faster, larger is more capable): Small | Size: 2.6 GB, Estimated RAM us[?] Quality (smaller is faster, larger is more capable): Small | Size: 2.6 GB, Estimated RAM us[?] Quality (smaller is faster, larger is more capable): Medium | Size: 3.8 GB, Estimated RAM u[?] Quality (smaller is faster, larger is more capable): Small | Size: 2.6 GB, Estimated RAM usage: 5.1 GBSize: 2.6 GB, Estimated RAM usage: 5.1 GB
 > Small | Size: 2.6 GB, Estimated RAM usage: 5.1 GB
   Medium | Size: 3.8 GB, Estimated RAM usage: 6.3 GB
   Large | Size: 6.7 GB, Estimated RAM usage: 9.2 GB
   See More

[?] Use GPU? (Large models might crash on GPU, but will run more quickly) (Y/n): n

This language model was not found on your system.

Download to `/Users/sas/Library/Application Support/Open Interpreter/models`? 
[?]  (Y/n): n


 Download cancelled. Exiting. 
 
 ```
 
 

【MacOS X版】R言語とRStudioでGitHub Copilotを活用する方法: 設定ガイドと使い方

はじめに

最近の生成AIの勢いはとどまることを知らず、データ分析やプログラミング時の面倒な作業の大半がAIで解決されつつあります。しかし、「自分でコードを書く」という、作業はまだ必要です。そんなときに役立つのがGitHub Copilot(かもしれない)です。

GitHub Copilotとは、ユーザーが書いた、各種のプログラミング言語のコードやテキストをもとにして、次に書くべきコードを予測してくれる、AIベースのコード補完ツールです。

情報察知が遅れてましたが、2023年7月中旬くらいから、GitHub Copilotが、R言語の主要なIDEであるRStudio上でも使えるようになりました。 MichelNivard / gptstudioというRパッケージがすでに2023年3月にリリースされていて、GPT-3.5 APIを使った、Copilotライクな機能が実装されていたため、このニュースまでウォッチしてませんでした。。。

RStudio上でのGitHub Copilotの使い方としては、まずは、GitHubアカウントでCopilotを登録します。最初の30日間は無料トライアルがあり、その後は1ヶ月10ドルのサブスク(年間契約は100ドル)となります。そして、RStudioのDairy Builds版をインストールして、GitHub Copilotの諸設定を行い、利用開始という流れになります。

この記事は、R言語とRStudioでのGitHub Copilotの各種設定と使い方に焦点を当てています。 R言語のコミュニティにとって、この新機能の導入はコーディングの効率化に貢献することでしょう(おそらくね)。

GitHubアカウント側での設定

まず、GitHubアカウントが登録済みであることを前提とします。 続いて、無難にGitHub Copilotの概要ページに行きまして、「GitHub Copilotを試す」をクリックします。

https://docs.github.com/ja/copilot/getting-started-with-github-copilot

サインアップページの方に移行しますので、サブスクのタイプを選択して、Get accessをクリックします。

https://github.com/github-copilot/signup

続いて、住所とか必要情報を入力して、saveをクリックします。

支払い情報を入力して、Save payment informationをクリックします。

続いて、Select your preferencesを設定します。私は、BlockOFFで設定しました。

これらの設定は後で変更可能です。変更する場合には、GitHubのTry Copilotの項目で修正します。

以上で、GitHub側の設定は完了です。 過去情報で、トライアル期間が60日間という話もありましたが、現在は30日のみのようです。

RStudio daily版のインストール

GitHub CopilotをRStudio上で使う場合には、RStudio Stable版ではなく、下記のRStudioウェブサイト(https://dailies.rstudio.com/)からRStudio daily版をダウンロードして使います。

https://dailies.rstudio.com/

今回、私の実行環境がMacということで、RStudio-2023.09.0-daily-337.dmgというMacOS X 11+版のインストーラーを使用しました。

daily版も通常のRStudioのアイコンと変わりません、いちおう、Stable版と横並びにしてみた。

これが最も大切ですが、RStudio上でGitHub Copilotが動作しなくなったら、新しいRStudio daily版をインストール入れ直してください。これが結構大事です!!もしかしたら、毎日使うときにインストールが必要かもです。。。

RStudio上でのGlobal options設定

RStudio側の設定ですが、メニューバーのToolsから、Global options...に進みます。

Optionsの一番下に、Copilotの項目が追加されていますので、それをクリックします。

Enable GitHub Copilotにチェックを入れて、ポップアップのInstallをクリックします。

GitHun Copilot agent Successfully installedが表示されれば、OKをクリックします。

ここで(無難に)、、、RStudioを再起動します(不要かも)。

そして、もう一度、メニューバーのToolsから、Global options...に進み、CopilotオプションでSign Inボタンが出現していれば、クリックします。

Navigateページ(https://github.com/login/device)に進んで、表示されている、Verification codeを打ち込みます。

Authorize GitHub Copilot Pluginをクリックして、アカウントと連携させます。

CopilotオプションでSign Outボタンが出現していれば、アカウント連携は無事に完了しています。

うまく適用されていれば、Rソースの右下に、Copilot Pluginの起動状況が表示されます。以下のような感じです。

RStudioのアプリケーションをクリックして、直接起動して使うと、うまく動きます。一方、RprojからRStudioを起動させると、うまく動かないのかな、、、

使用方法としては、Rファイルを作成して、何かプログラムかテキストを書いていくと、設定された間隔(300msとか)でコード予測がされて、グレイアウトしたコードが表示されます。それでオーケーならTabを押せば、予測コードが実際のコードとして採用されます。

予めやりたいことを、テキスト(日本語、英語はどちらでも大丈夫そう)で打っておくと、その内容に沿って、コード作成のサポートをしてくれるのかな。ここの部分は、別途、GPT-4を使うのが良さそうかも。

まとめ

GitHub CopilotのRStudio上での利用について、アカウント登録からRStudioでの設定までを概説しました。

Rコードの予測機能がどの程度使えそうかなどは、今後レポートしたいと思います。

現状の個人的な所感をいうと、変に好き嫌いせずに、GitHub CopilotとOpenAI GPT-4 APIとを適時組み合わせて、使い倒す感じでいくのが最良の選択なのかもですね。

Rで、GPT APIを使うなら、この辺りのパッケージがお勧めです。

github.com

github.com

参考記事

koreedaさんのブログ記事「RstudioでGitHub Copilotが使えるようになったので試してみる」を見つけて、参考にしています。

koreedaさんのブログ記事

koreedaさんのブログ記事がGoogle 検索でトップ表示されました。

https://zenn.dev/t_koreeda/articles/6beb2d070564d8