みなさんこんにちは。マネージドサービス部の塩野です。
ちょうど半年くらい前に話題になって、しばらく静かだったのですが最近また話題にあがっている Open Interpreter をさわってみましたので、その感想を共有したいと思います。
Open Interpreter ってなに?
超雑な感じに例えるなら、「コンソール版ChatGPT」です。WIndowsならコマンドプロンプトでAIと会話してその結果を表示したりファイルに落としたりできます。
いくつか特徴的な点があるのですが、なぜOpen Interpreterが話題になっているかというと、
- AIと会話するだけでプログラムを書いてくれて、そのまま実行してくれる
- プログラムに問題があった場合は「修正して」と依頼するだけで、問題点を自分で調べて修正してくれる
- コードの問題だけでなく、ライブラリが足りないときはライブラリのインストールも自動でしてくれる
- プログラムだけでなく、画像生成などにも対応できるようになった
メリットともデメリットともいえる点などもありますが、概ね今まで苦労していたところがAIを使って楽できるツールのようです。
Open Interpreter のインストール
注意事項
Open Interpreter はローカルLLMを使用することもできますが、GPUがない場合は実用に耐えないくらい重いため、OpenAIなどのAPIキーを使用してLLMを動作させます。そのため、Open Interpreterを試す場合は、必ず事前にAPIキーの準備をしてください。今回はOpen Interpreter の部分にフォーカスしているため、OpenAIのAPIキー発行については割愛させて頂きます。
インストール
今回は、公式のインストール手順を参考に設定を実施しました。
Open Interpreter はPythonを使って動きますので、まずpythonのインストールを行います。 WIndowsなどで自分の環境を壊したくない場合はWSLなどを使用して試してみるのがいいでしょう。今回はWSL (Ubuntu 22.04 LTS) を使用して試してみました。
まずはpythonとpipのインストールを行います。
sudo apt install python3 python3-pip
次にOpen Interpreterのインストールを行います。
pip install open-interpreter
以上で設定は終わりです。公式サイトにも You’ll need Python 3.10 or 3.11
と記載がありますが、pythonのバージョン指定がありますので古いバージョンのpythonを使われている方はご注意ください。
動作確認
下記コマンドにて実行します。
interpreter
ちょっと試すだけならこれで問題ないのですが、各ステップで止まってしまうため -y
オプションを付けるとある程度自動的に動作してくれます。本格的に使う場合は -y
オプションは必須ですね。
実行すると以下のような画面が表示され、APIキーの入力を求められます。ここにOpenAIで入手したAPIキーを投入します。
それではAPIキーを入力してみましょう。
> と表示されたら成功です。標準ではGPT-4で動作しているため、もし費用が気になるようでしたらGPT3.5 turboで動作させることもできます。モードを変更する場合は、起動コマンドに --fast
オプションを付けることで、GPT3.5 turbo モードで動作させることができます。
interpreter -y --fast
APIキーをコマンドに埋め込んで実行用スクリプトを作っておくとさらに便利になります。オプションは -ak <APIキー>
を使用します。
interpreter -y --fast -ak <APIキー>
それでは実際に実行してみましょう。 プロンプトは英語で入力していますが、もちろん日本語でもOKです。pythonのコードを作成し、それを実行して「hello world!」と表示されましたが、表示結果だけみると大したこと内容に見えますが、リアルタイムに実行して結果を表示してくれるので、実際試してみると「すげー」ってなると思います。
次はもう少しだけ複雑なタスクをお願いしてみましょう。test.xlsx ファイルを編集して、sheet1のA1セルに「hello world」と書いてくださいと依頼しました。
モジュールがないと怒られました。WSLの初期設定から実行しているのでpythonの openpyxl はもちろんインストールされていません。 普通に考えるなら「pip install openpyxl 」って自分でインストールして、再度同じ依頼をする流れでしょう。
しかし・・・
ひとこと、「エラーを直してちょ」と依頼しただけで、自分でエラーの内容から最適な動作を実行してくれました。ここでの最適解は「openpyxl」のインストールのため、インストールが開始されました。
モジュールのインストールが終わると、もう一度動作テストを実行してくれます。
またエラーが発生しました。今度は、File Not Foundですので「test.xlsx ファイルがないよ~」というエラーになります。そんなファイルも用意してなかったので当然の結果でしょう。
このあとAIはどういう行動を取ったか見てみましょう。
何回か同じ壁にぶち当たります。中で試行錯誤しているということでしょうか・・・。そして、
最終的に「test.xlsx ファイルがないなら作ればいいやん」ということで、ファイルを作成し、無事動作完了しました。
ちなみに私がプロンプトに書いたのは、「create python code to edit excel.open test.xlsx file and write "hello world" in sheet1 A1 cell.」と「please fix this error」だけです。なお作られたファイル下記の通りカレントディレクトリに保管されているようで、実際にカレントディレクトリにファイルも保管されていました。
総括
ちなみにこの実験はGPT3.5 turboで簡単なタスクを依頼したのですが、思ったよりきっちり依頼内容を遂行してくれました。例えば、「〇〇を調査して」とか「△△のプログラムを作成して、ファイルを保存して」のような依頼をしたら、すごく夢が広がりませんか?本当に使いこなしている人はpythonのコードでAIに指示する内容を書いて全体的な制御をしたり、複数のLLMを連携させて動かしたりしているようです。私自身、そこまで使いこなせてはいないのですが、複数のLLMを連携させて自立動作するような世界はもう目の前まで来ているのかもしれません。