Open Interpreterを使ってデータ分析ができるかやってみる

2023.09.12

はじめに

Open Interpreterというオープンソースプロジェクトをご存知でしょうか?[OpenAI's Code Interpreter in your terminal, running locally] というコンセプトのプロジェクトです。

GitHubのリポジトリに記載されているより詳しい紹介内容は以下のようになっています。ざっくりいうとローカル環境で実行できるChatGPT Code Interpreterのようにファイルの取り扱いができるサービスです。

GPT-4による翻訳:

オープンインタープリターは、LLM(大規模言語モデル)がコード(Python、Javascript、Shellなど)をローカルで実行できるようにします。インストール後に$ interpreterを実行することで、ターミナル内のChatGPT風のインターフェースを通じてOpen Interpreterとチャットできます。 これにより、自然言語インターフェースを通じてコンピュータの汎用機能にアクセスできます: 写真、ビデオ、PDFなどを作成・編集する Chromeブラウザを制御してリサーチを行う 大規模なデータセットをプロット、クリーニング、分析する ...など。 注:コードが実行される前に、その承認が求められます。

このサービスを実際に検証してみたいと思います。

やってみる

Google Colabで実行する場合のNotebookはOpen Interpreterのリポジトリで公開されているため、公式の手順にしたがって今回はローカルで試してみます。

実行環境

  • M1 Mac
  • python --version Python 3.11.4

 

事前準備

公式の手順に従ってセットアップを行います。まずは、pipを使ってopen-interpreterをインストールします。

pip install open-interpreter

ターミナルで利用する場合は、上記を実行するだけで準備が完了のようです。めっちゃ簡単。 interpreter コマンドを実行すると様々なタスクを行ってくれるそうです。

 

CSVファイルの簡単な分析をしてもらう

Open Interpreterの大きな特徴はローカルのファイルを利用することができることです。

今回の検証では、Kaggleの世界人口のデータセット を使って「人口が最も多い国と最も少ない国の上位5つ」を抽出してもらいます。

実際の動作が見られた方がイメージしやすいと思うので、動画を撮影しました。指示を与えてから処理が完了するまでを録画した動画は以下です。

未来感がすごい。タスクを小さゴールに分解する挙動はAuto-gptなどのプロジェクトと同様の挙動ですね。

指示をした後はなにもしていません。画面を眺めて「すごいな〜」と呟いていたらタスクが終わっていました。

コードを書きながら処理を実行する特徴から、簡単なスクリプト作成などは全部お任せできそうです。

出力された情報の問題点としては、人口が最も少ない5カ国を出力する際には少ない順で表示してほしいところでしたが、そこは指示が明確ではなかった人間側の問題ですね。きちんとしたプロンプトを与えると想定通りの挙動を行なってくれそうです。

インターネットの情報を参照するのは少し苦手かも?

次はインターネット情報を参照して回答を返すことができるかを検証しましょう。今回は簡単なタスクとして「今日の東京の天気を教えてください」と指示を与えてみて天気を教えてもらえるか試してみます。

こちらも同様に動作を録画してみました。

今回はうまく結果が出力されませんでした。正確には取得するためのいくつかの方法を試してくれましたが、API Keyを要求されたため処理を中断しました。

ただ、問題点として指示が非常に抽象的であったため、特定のサイトURLや要素の指定を行うとタスクの実行が可能かもしれません。このあたりはプロンプトのチューニングと目的に応じた手段の選定が重要になりそうですね。

おわりに

Open Interpreterのように自律的に動作する生成AIは未来を感じますね。今回の記事には含みませんでしたが、画像のパスを指定して解像度向上のタスクなども問題なく実施してくれました。あとはプロンプトの設計をうまく行うと様々なタスクも実行できそうです。

ローカルで実行する場合は、端末へのアクセス権限を与えることになります。そのため、秘匿情報が一切含まれていない私の個人端末で検証を行いました。検証される方はセキュリティに留意したうえで検証を行ってください。

簡単な内容ですが、以上です〜