Open Interpreterでアンケート分析をやってもらったら1時間以上かかる作業が一瞬で完了した。ヤバい

ChatGPTの新機能「Advanced Data Analysis(旧Code Interpreter)」のオープンソース版と言われている「Open Interpreter」が凄いと話題なので、アンケート結果の分析とその結果を使った分析レポートの作成を依頼してその実力を試してみました!
正直、全然期待していなかったのですが、予想を超えるクオリティでしたので、一部始終を皆様にもご紹介します。
Open Interpreterとは

Open Interpreterは、GPT-3.5、GPT-4、Code Llamaなどの大規模言語モデル(LLMs)を活用して開発されたオープンソースのツールです。
このツールは、OpenAIが提供するChatGPTの「Advanced Data Analysis(旧Code Interpreter)」のオープンソース版とも言える存在で、Python、Javascript、Shellなどのプログラミング言語のコードを自然言語による対話を通じてローカル環境で実行することができます。
このツールの最大の特徴は、ChatGPTの「Advanced Data Analysis」と違いローカル環境で動くため、ファイル容量やネット接続への制約がなく、ChatGPTの「Advanced Data Analysis」より幅広い使い方ができます。
そのため、Open Interpreterを使えば、プログラミングの知識がない方でも、Chromeブラウザでのリサーチ、大量データの分析など、多岐にわたる作業をチャット形式で簡単に行うことができます。
Open Interpreterの利用の注意点
Open Interpreterの利用には以下のようないくつかのリスクが伴うため、Google ColabやReplitなどの制限された環境での使用を検討することが推奨されています。
- コードはローカル環境で動作するため、ファイルやシステム設定にアクセスできます。これにより、データの損失やセキュリティ上の問題が生じる可能性があります。
- コード実行時にはユーザーの承認が求められますが、この確認手順を回避する方法も存在しますので、細心の注意が必要です。
- システム設定やファイルを変更するようなコマンドの実行には特に慎重になるよう心掛けましょう。
Open Interpreterの始め方・使い方
Open Interpreterは特別な登録など不要で、インストールすればすぐに利用可能です
色々と解説がついたクイックスタート用のGoogle Colabも公開されているので、サクッと試したい方はこちらのコードを参考にするのが良さそうです。
1. インストール
1!pip install open-interpreter
2. OpenAI APIキーの設定

OpenAIのAPIキーを利用する場合は設定が必要ですが、OpenAIのキーを使用しない場合は、Code-Llamaを利用することができます。
3. 対話的セッションの開始
ターミナルで次のコマンドを実行します
1interpreter
また、Pythonスクリプトからの利用も可能です
1import interpreter
2interpreter.chat()
4. プログラム的なチャット
特定のメッセージを直接.chat(message)
に渡してコマンドを実行することもできます。
1interpreter.chat("Add subtitles to all videos in /videos.")
5. 新しいチャットの開始
Open InterpreterはPython内での会話履歴を保持します。新しい会話を開始する場合は、以下の方法でリセットできます。
1interpreter.reset()
6. チャットの保存と復元
会話の履歴を保存して後から再開することができます。
1messages = interpreter.chat("My name is Killian.", return_messages=True)
2interpreter.reset()
3interpreter.load(messages)
7. モデルの変更
gpt-3.5-turboの場合は、fastモードを使用する
1interpreter --fast
8. デバッグモード
コントリビューターがOpen Interpreterを調査するのを助けるために、--debug
モードは非常に便利です。
ターミナルでコマンドを実行する際には、--debug
フラグを使用して起動します。
1interpreter --debug
既に対話的なセッション中でデバッグモードを有効にする場合は、以下のコマンドを入力します。
1$ interpreter
2...
3> %debug # <- Turns on debug mode
このモードを使うことで、Open Interpreterの動作をより詳細に理解したり、問題を診断する際に役立ちます。
9.ローカルでCode Llamaを使う方法(API課金しない方法)
Open InterpreterはGPT-4やGPT-3.5を使う以外に、ローカルでCode Llamaなどのモデルも利用できます。
Code Llama
を使用するには、コマンドラインからローカルモードで interpreter
を実行します。
1interpreter --local
または、Hugging FaceモデルをそのレポID(例えば “tiiuae/falcon-180B”)を使ってローカルで実行することもできます
1interpreter --model tiiuae/falcon-180B
また、公式の情報ではないですが、具体的な設定方法は以下の記事も参考になります。
①Macユーザー向け

②Windowsユーザー向け

10. ローカルモデルのパラメータ
ローカルで実行するモデルの max_tokens と context_window (トークン単位) を簡単に変更できます。
context_windowを小さくするとRAMの使用量が減るので、GPUが失敗している場合はサイズを短くしてみることをお勧めします。
1interpreter --max_tokens 2000 --context_window 16000
Open Interpreterでアンケートデータの分析
Open Interpreterの実力を試すべく、アンケート結果の分析とその結果をまとめた調査レポートの作成を行ってみます。
この作業は慣れない人がExcelで行うとすると、1~2時間はかかる作業です。
今回分析に使用したGoogle colabは以下に公開しておきます


今回、分析に用いたデータは「ChatGPTの利用傾向」についてのアンケート結果はこちらです。
データの形式としては一般的なアンケート結果と同様のため、他のアンケート結果を分析する際も、今回のChatGPTを使用した手法が参考になるかと思います。
まずは、日本語で使えるか試してみます。

何も指定しないと基本的には英語で話しますが、日本語で話して欲しいと依頼することでやり取りを日本語で行うことができました。
次にデータを読み込んでデータ分析を行ってもらいます。
ファイルの操作は、ファイルの読み込み方を指定すればできるみたいなので、ファイルの読み込み方を教えつつ分析をお願いしてみます。
【プロンプト】
df = pd.read_excel(‘/content/2nd chatgpt survey.xltx’)
## タスク: ChatGPTに関するアンケートの分析と分析レポートの作成
### **背景** *
調査期間: 2023年8月23日~2023年8月28日
* 回答方式: インターネット投票
* 本調査の目的は、ChatGPTの利用者の実際の利用状況や認知度、利用者の属性などを詳しく取り纏め、どのような層にChatGPTが人気で、どのように使われているかの実態を把握することです。
###
**手順**
1. アンケートの結果を読み込む。
2. 分析レポートの構成を考える。
3. どのような分析が有益か検討する。
4. データを具体的に分析し、その結果を考察する。
5. アンケートの結果と考察をまとめる。
6. 考察を踏まえて、分析の結論部分を作成する。
### **注意点**
* 各セクションには考察を必ず含める。
* 文章は読者の興味や理解を深めるように書く。
* 総括のセクションでは、今後のChatGPTの展望や利用傾向の予測なども含めて長めに記述する。
ちょっと長いですが、一回でより良い結果を出すために以上のような指示を出しました。

まずは分析の方針を考えてくれましたが、提案された分析内容は、今回のアンケート項目を考慮すると適切そうですね

まずはデータを読み込んでからデータの内容を確認しています。

まずは回答者の分布とChatGPTの認知に関するアンケート結果を確認してくれています。
ちょっと分かりにくいですが、出力部分に性別や年代別の回答割合が表示されていますね。

「ChatGPTの知識」というカラムの集計でエラーが出たようなので、カラム名やデータの欠損値について自動で確認を始めてくれました
エラーが出たら自分で原因を調査してくれるなんて優秀ですね!

Open Interpreterが独自に調査した結果、ただ単にカラム名を勘違いしていただけでしたので、正しいカラム名で改めて分析が再開されました。

それ以降は特に問題なく、追加の指示を出すことなく他の項目の分析も行ってくれました。

最後にアンケート結果を分析レポートとしてまとめてくれましたが、もっと分析レポートっぽい形式にして欲しかったので、その要望を伝えました。

それっぽい形式で作成してくれましたが、なぜか英語になってしまったので日本語で作り直してもらいます。

最終的に出来上がったレポートがこちらです。
アンケート結果の分析レポートとしては、このまま修正しなくても使えるくらいのクオリティですね
データをアップロードして簡単な指示を出すだけで、ここまでのアウトプットを出力してくれるとは思わなかったので驚きです。
感想&まとめ
「めっちゃ凄い!!!!」というが正直な感想です。
データをアップロードして簡単な指示を出すだけで、ほぼ完璧な分析レポートが出来上がったのは驚きでしかないです。
しかも、Open Interpreterはファイルのアップロード制限もなく、インターネットの接続も可能なので、より大規模なデータを分析してもらったり、直接DBに繋いでデータ分析してもらうことも可能です!
ただ、Open InterpreterをGPT-4のAPIはトークンの料金が高いので、ビッグデータを分析したり複雑なデータを分析しようとするとかなりの料金がかかってしまうのが現状です。
私も30分~1時間くらい少し試しただけで気がついたらAPIの使用料金がその時間だけで2000円以上かかっていたので、複雑な分析を行おうとするといくらかかるのか恐ろしいなと思いました…
料金の問題はさておき、とにかくOpen Interpreterが凄いのは間違いないので、もし気になる人は公式が公開しているクイックスタート用のGoogle Colabでサクッと触ってみてください!