見出し画像

RとGPTの融合ーgptstudioーのセットアップ(初学者向け)

ご挨拶

どうもアキオです。
本記事では,openaiのAPIを利用したRstudioへのChat-GPTの埋め込みであるgptstudioのセットアップ方法をご紹介します。
前文では,私がgptstudioを利用しようと思ったまでの経緯の話ですので,具体的な内容を早く知りたい方は,本文から読み始めてください。


前文

私は普段、Rを使ってデータ分析を行っています。私に限らず、心理学の研究者の多くがRを使っていると思います。私がRを使い始めたのは、約10ヶ月前のことで、卒論では友達に頼ってSPSSを使い、何とか乗り切りました。そういうわけで、統計に強いわけではありません。しかし、研究を進める上で、分析は不可欠です。そこで、何度も統計の勉強を繰り返しましたが、挫折を重ねていました。

そんな時、Chat-GPT(以下、GPT)が登場し、私の分析方法が大きく変わりました。やりたい分析をGPTに伝え、コードを書いてもらい、それをRにコピペするだけで分析が可能になりました。驚くほど便利で、様々な手法をコピペして分析していました。

しかし、現実は甘くないものでした。複雑な実験計画や多くの変数を含む分析手法には、GPTの書いたコードをそのまま使うだけでは上手くいかないことがありました。具体的には、コードを実行するとエラーが出て、GPTにエラーメッセージを伝え、修正版コードを書いてもらっても、またエラーが出ることがありました。気づけば、GPTが似たようなコードを繰り返し書いており、全く分析が進まなくなっていました。

そこで、gptstudioというRとChat-GPTを組み合わせる方法を見つけ、試してみることにしました。RStudio内でコードを書いたり修正したりできるので、非常に便利です。ただ、始め方が少し難しかったので、同じ状況の人に役立てばと思い、この記事を書きました。

本文

gptstudioをinstallする

まずgithubを見てみます。

なんかやり方が書いてありますが,英語なのでよくわかりません。
なので,Deep Lで翻訳しながら読みました。

githubをDeepLで翻訳して読む様子

※姉妹パッケージにgpttoolsがあるらしいですが,開発者向けらしいのでスルーします。
とりあえず読んでみると,gptstudioの利用にはパッケージをインストールした方が良いらしいので従います。

#とりあえずインストール
install.packages("gptstudio")

すぐ下にあるコードは,バグ修正や開発版の機能を使用する人を対象にしたものらしいので,以下のコードはスルーします。

#バグ修正や開発版の機能を使用する人はこっちをインストールらしい
# install.packages("pak")
pak::pak("MichelNivard/gptstudio")

"gptstudio"のインストールをしたら,更に読み進めていきます。

APIキーの取得

githubをDeepLで翻訳して読む様子

どうやらAPIキーが必要みたいですね。
APIキーを知らない人に説明すると,特定のサービスにおける自分のアカウントの合鍵みたいな感じです。
つまり,自分のgptのアカウントからAPIキーを持ってこいと言われてます。
よくわからないので,以下のサイトを参照して,APIキーを取ってきます。

また,APIを使うためには,費用が掛かります。なのでクレカ登録したりして,お金の手続きします。

APIキーをRstudioに認証してもらう

APIキーがコピー出来たら,これをRstudioに認証してもらう必要があるようです。

githubをDeepLで翻訳して読む様子

これを読むと,まず以下のコードでRenvironを開き,そこにAPIキーを書くことで,認証されることができるらしいです。

ここで,Renvironとかグローバルに設定とかShynyアプリという言葉がでてきましたが,私は初めて見ました。なので調べました。GPTで

#参照サイト
https://chat.openai.com/c/45efd075-be2c-4a35-8eca-841b796eb6f5

#命令
”””
You can establish this environment variable globally by including it in your project’s .Renviron file. This approach ensures that the environment variable persists across all sessions as the Shiny app runs in the background.

Here is a set of commands to open the .Renviron file for modification:
”””
という文章のenvironment variable,Renviron,Shiny app,globally,といった専門用語がよくわかりませんでした。

RとAIのプロフェッショナルとして,
Rの初心者に600字程度で説明してください。

もちろん、Rというプログラミング言語やAIに関連する専門用語を初心者向けに説明します。

Environment Variable(環境変数):
環境変数は、オペレーティングシステムで定義された変数で、アプリケーションやプロセスが動作する環境に関する情報を提供します。これは、システムのパスやユーザー設定など、様々な設定やデータを保存するのに使われます。Rプログラムや他のアプリケーションでは、これらの変数を参照して、特定の設定や動作を行うことができます。
.Renviron(.Renvironファイル):
.Renvironは、Rプログラミング言語専用の環境設定ファイルです。このファイルに書かれた内容は、Rが起動する際に自動的に読み込まれ、環境変数として設定されます。例えば、APIキーのような機密情報や、特定のライブラリのパス設定などをこのファイルに記載することが一般的です。
Shiny App(シャイニーアプリ):
Shinyは、R言語でインタラクティブなウェブアプリケーションを作成するためのフレームワークです。このフレームワークを使うと、データ分析結果をインタラクティブなグラフや表などでウェブ上に表示するアプリケーションを、Rのコードだけで簡単に作成できます。
Globally(グローバルに):
何かを「グローバルに」設定するというのは、その設定がコンピューターシステム全体、またはある特定のアプリケーションの全セッションで共通して適用されるという意味です。つまり、特定のプロジェクトやセッションに限定されず、一般的にアクセス可能な状態を指します。

この文脈では、Renvironファイルに設定を記述することで、Rが起動するたびに、またShinyアプリがバックグラウンドで実行される際にも、これらの環境変数が自動的に適用されるようになるということです。これにより、プログラムの実行時に毎回設定を行う手間が省けます。

GPT-4

なるほど,なんとなくわかりました。
では,Rstudioでやっていきましょう。


※以下の動画をみるとどんな感じでやるか大体わかります。ただpakインストールしていたり英語だったりで全然わからないと思います。
APIキーを入れるところからの画面の変化だけ参考にしてもいいかもしれません。
ChatGPT in RStudio with gptstudio - Better than GitHub Copilot? - YouTube


まず,以下を実行します。

#Renvironを開く
require(usethis)
edit_r_environ()

次に,RenvironファイルにAPIキーを記述します。以下をコピーして,”<APIKEY>"に自身のAPIキーと置き換えます。

OPENAI_API_KEY="<APIKEY>"

これでとりあえずセットアップは完了です。
一応もうアドインメニューから利用できます。

実践編もやりたいのですが,セットアップ編である本記事では,ここまでとします。
また,時間がありましたら実践編も記事にしようと思います。
実際に使っているところとかは,本記事の参考サイトである以下を参照してください。

参考にしたサイト

https://github.com/MichelNivard/gptstudio

https://skume.net/entry/2023/06/01/211431

ChatGPT in RStudio with gptstudio - Better than GitHub Copilot? (youtube.com)

Rで解析:RからChatGPTを利用!!「chatgpt」パッケージ (karada-good.net)

https://www.infoworld.com/article/3694611/8-chatgpt-tools-for-r-programming.html

ChatGPT API を使うための手順 #API - Qiita


いいなと思ったら応援しよう!