OpenAIのコードインタープリターとは何か?
OpenAI の ChatGPT に搭載された新機能コードインタープリター(Code Interpreter)は、ChatGPT に新たに追加された機能で、プログラミングの知識がない人々にとっても大きな意味をもつことになります。
この機能は 2023年7月6日にいくつかの他のアップデートと共に発表されました。2023年7月11日 現在は 有料サブスクライバー(ChatGPT plus)のみにリリースされており、また、まだベータ版の段階であり、開発が進行中です。しかし、コードインタープリターは ChatGPT が登場したときと同じような「ゲームチェンジャー」になると言えるでしょう。
コードインタープリターとは何か?
コードインタープリターは、プログラミング言語である Python を使用し、アップロードやダウンロードを処理することができる実験的な ChatGPT のモデルです。
モデルに、サンドボックス化され、ファイアウォールで保護された実行環境と一時的なディスクスペースが提供されているようです。インタープリタープラグインによって実行されるコードは、チャット会話のあいだ(上限タイムアウト付きの期間)持続的なセッションで評価され、後続の呼び出しはそれぞれが互いに構築することができます。また、現在の会話ワークスペースへのファイルのアップロードと、作業の結果のダウンロードをサポートしています。
つまり。会話をしっかり安全におぼえておいてくれ、コード処理をしてくれるのです。
なぜこの機能が重要なのか?
この機能が重要な理由は、大規模自然言語モデル(LLM)のような GPT と伝統的なプログラミング機能を組み合わせて使用する簡単な方法を提供することができるためです。これにより、プログラミングコードを書く必要がなく、またそのようなコードを実行する環境を設定する必要もありません。ChatGPT だけでコードが書けてしまい、実行して貰えてしまい、出力まで出してくれるのです。
コードインタープリターが登場する前のChatGPTはどのようなものだったのか?
コードインタープリターの導入前の ChatGPT は、テキスト形式でコンテンツを生成することができるというモデルでした。メールの作成からエッセイの完成、まで、あらゆるものを書く能力で知られています。プログラムコードを書くことはもちろん出来ましたが、実行する環境は別に用意する必要がありました。
もちろん、最近は多数のプラグインがあり、さまざまな出力も出来るようになってきていました。
コードインタープリターの登場とは何か?
コードインタープリターが登場したことで、ChatGPT のプロンプトに基づいてプログラムコードを生成し、そのコードを実行するステップが全て ChatGPT 内で行われるようになりました。ファイルアップロード機能を通じてデータをアップロード・ダウンロード提供する能力も搭載されました。
この機能から得られるものは何か?
コードインタープリターは、プログラマーだけが有用だと思われるツールのように見えるかもしれませんがそうではありません。実際には、何よりも、プログラミングコードを必要とせずに詳細なデータ分析や出力を可能にします。つまり、データに直接質問を投げかけることができ、解析させることができ、出力させられるのです。
また、大規模なデータセットを扱うことができます。理論的には、OpenAI が提供するスペースの量によってのみ制約されることになりそうです。つまり、ビッグデータ(大規模統計データや疫学データ、遺伝子解析ファイルなど)も直接扱えるのです。
さらに、コードインタープリターが扱えるデータは数値情報だけではありません。コードインタープリターは、ほぼ任意の形式のテキストを扱うことができます。これは、ほぼ任意の種類の、つまり、ドキュメントであれば何でも、分析と要約のためにアップロードできることを意味します。コードインタープリターがこれまでに想像されていなかった方法でどのように利用されるかについて、すでにさまざまな活用法が SNS などでばらばらと紹介されていますし、今後数多くの記事が出てくることでしょう。
出来ることを簡単にまとめると……
データ分析
ユーザーがアップロードした CSV ファイル、FASTA ファイル、Excelファイル、画像ファイル……などのデータを解析し、加工し、その結果をさまざまな形式でダウンロードすることができます。
コードの実行
ユーザーが提供した Python コードを実行し、その結果をユーザーに返すことができます。これにより、ユーザーは自分のコードをテストし、その結果を確認することができます。
ファイルの生成
ユーザーが指定した内容でファイルを生成し、そのファイルをダウンロードすることができます。これにより、ユーザーは自分のニーズに合わせてファイルを生成することができます。試したところ、テキストはもちろん、画像、動画、Excelファイル、Wordファイルなども作ることができました。
このブログでもいろいろ試して紹介していきたいと思います。