OpenAI の GPT モデルを使用して、片言の英語を実用的なコード、視覚化、分析などに瞬時に変換するシンプルな RStudio アドイン。アクティブ化されると、アドインは強調表示されたテキスト要求を動作するコードに置き換えようとします。
以前に記述されたわずかに縮小されたコードのコンテキストを提供しようとします (現在は明示的なコメントと空白のみを削除します)。コード コンテキストが大きすぎる場合は、デフォルトで合計プロンプトが約 2750 トークンになるように切り詰められ、残りの 4096 トークン (gpt-3-turbo を想定) が応答用に残されます。正確な切り捨ては、リンクされた Python コードを介して Open AI の「tiktoken」ライブラリを介して行われます。これには Python > 3.8 が必要です。
将来のアップデートには、より高度なコンテキスト圧縮が含まれる予定です。
RStudio にアドインをインストールします。
remotes::install_github("1223423/statGPT")
次に、RStudio で必要な一時環境変数を設定します。
Sys.setenv(OPENAI_API_KEY = "your api key here") # API key
Sys.setenv(OPENAI_MODEL = "gpt-3.5-turbo") # Model (optional; default: gpt-3.5-turbo)
Sys.setenv(OPENAI_TEMPERATURE = 0.25) # Temperature (optional; default 0.25)
Sys.setenv(STATGPT_DEBUG = 0) # Debug logging (optional; default: 0)
Sys.setenv(STATGPT_CTXLIM = 2750) # Input context limit (optional; default ~2750 tokens)
あるいは、 .Renviron
ファイルに永続キーを設定することもできます。
statGPT には Open AI のtiktoken
が必要なので、Python 3.8 以降が必要です。また、R パッケージreticulate
、 httr
、およびjsonlite
も使用します。
OPENAI_TEMPERATURE は何をしますか?温度範囲は 0 ~ 2 で、出力のランダム性と創造性のレベルを制御します。0 またはそれに近い値はほぼ決定的です。デフォルトは 0.25 のままです。
STATGPT_CTXLIM は何をしますか?各 OpenAI モデルには、入力と応答の間で共有されるトークン制限があります。たとえば、 gpt-3.5-turbo
は 4096 トークンの制限があります。 CTXLIM は入力に上限を設定します (デフォルトでは 2750 トークン)。これにより、応答には ~1346 トークンが残りますが、OpenAI のトークナイザーを使用した場合でも、これはいくつかのトークンによってずれる可能性があります (「openai-cookbook」を参照)。 gpt-4 を使用している場合は、この制限をもっと高い値に設定する必要があります。
入手したコードが機能しないのはなぜですか?分からない、別の方法でもう一度聞いてみてください(爆笑)