Open Interpreterがついに画像出力にも対応!使い方から実践までを解説【画像付き】
皆さん、Open InterpreterというAIアシスタントをご存知ですか?
自然言語でプログラムを開発し実行までできるオープンソースのツールで、ChatGPT並みのインパクトを持つAIツールなんです!
Open Interpreter は、LLM(ChatGPTやLlama 2)に自分のPCの操作権限を付与しパワーポイントやデータ解析、諸々の作業をAIに代替させるものです。
例えばこんなことができちゃう!
本記事では、Open InterpreterのMacOS・Windows・Google Colabの導入方法や、実際に使ってみた感想、最後にはよくネット上で比較されるChatGPTのCode Interpreterとの比較をまとめました。
最後まで読むと、Open Interpreter なしでは生きていけなくなります!
ぜひ最後までご覧ください!
Open Interpreterとは
Open Interpreterとは、自然言語によるプログラミングをローカルで実現するオープンソースツールのことです。PythonやJavaScript、Bash などの言語に対応しており、データ分析やブラウザ制御、動画/画像/PDFの生成、編集ができます。
ただし、日本語のプロンプトには対応していないので注意しましょう。
ChatGPTのCode interpreterも似たようなツールですが、違うところもいくつかあります。
項目 | Open Interpreter | Code Interpreter(ChatGPT) |
---|---|---|
動作環境 | クラウド・ローカル環境の両方で動作、フルアクセス可能 | ChatGPTの画面上、アクセス制限あり |
使用可能なパッケージ | 任意のパッケージやライブラリが使用可能 | 事前にインストールされたもののみ |
実行時間とファイルサイズ | 制限なし | 実行時間とファイルサイズに制限あり |
セキュリティ | ユーザー確認が必要、不正なコードを防ぐ | ユーザー確認のプロセスが異なる |
料金 | 無料(オープンソース)+OpenAI API使用料金 | 月額20ドル(有料プラン) |
多様なプログラミング言語に対応 | Python、JavaScript、Bashなど | Pythonのみ |
bash、shell | 動かせる | 動かせない |
つまり、Open Interpreterの推しポイントはこちらです。
- 動作環境
Open Interpreterはクラウドとローカル環境の両方で動作するため、インターネットへのフルアクセスが可能です。これにより、外部APIやデータベースに自由にアクセスでき、プロジェクトの柔軟性が大幅に向上します。 - パッケージとライブラリの選択肢
Open Interpreterでは、任意のパッケージやライブラリを使用できます。これは、特定のプロジェクトに最適なツールを選べるという点で非常に価値があります。 - 制限のない実行時間とファイルサイズ
Open Interpreterは実行時間やファイルサイズに制限がありません。大規模なデータ分析や計算処理もスムーズに行えます。 - セキュリティの確保
Open Interpreterは、コードを実行する前にユーザーの確認が必要です。不正なコードの実行を防ぐことができ、安全性が高まります。 - コストパフォーマンス
Open Interpreterはオープンソースプロジェクトであり、無料で使用できます。特にスタートアップや個人開発者にとって、費用を抑えられる大きなメリットです。 - 多様なプログラミング言語に対応
Open InterpreterはPythonだけでなくJavaScriptやBashなどもサポートしているため、様々な用途に対応できます。
これらが本当だとしたら、すごいですよね。
なお、Open Interpreterはバージョンアップがおこなわれており、現在ではAI自身がPCの画面(GUI)を操作できるところまで進化しています。
PCの操作にも対応したOpen Interpreterについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
Open Interpreterのライセンスについて
Open Interpreterは「GNU Affero General Public License v3.0」でライセンスされています。GNU Affero General Public License v3.0はフリーソフトウェアとオープンソースソフトウェアの原則を強調し、ソフトウェアの自由な利用と共有を促進するために設計されています。
該当のライセンスについて詳しくは公式ページをご確認ください。
GNU Affero General Public License v3.0 → https://www.gnu.org/licenses/agpl-3.0.ja.html
利用用途 | 可否 |
---|---|
商用利用 | ⭕ |
改変 | ⭕ |
配布 | ⭕ |
特許使用 | ⭕ |
私的利用 | ⭕ |
では早速、推しポイントを検証するためにもまずは導入方法を見ていきましょう!
Open Interpreterの使い方
ここではOpenInterpreterを動かすために必要なスペックと、ローカル環境での導入方法、Google Colabの導入方法を解説します。
Open Interpreterを動かすために必要なスペック
・MacOS
■マシン:MacBook Pro(13-inch 2020)
■CPUの種類:1.4 GHz クアッドコアIntel Core i5
■システムメモリ:16GB
■GPUの種類:Intel Iris Plus Graphics 645 1536 MB
■HDD/SSDの空き容量:50GB
・Windows
■OS:Windows11
■CPUの種類:Core i3-12100F3.30GHz
■システムメモリ:16GB
■GPUの種類:GTX1650
■HDD/SSDの空き容量:100GB
Open Interpreterを動かすにはそこまで高スペックなPCが必要というわけではありませんが、あまりに低スペックだと他のソフトを同時に動かすと処理が重たくなったりするので、快適さを求めるのであればスペックに余裕をもたせることをおすすめします。
では、ローカルの環境構築やクラウドでの動かし方をみていきましょう。
ローカル環境の構築(MacOS編)
まずは、以下をterminal で実行。
pip install open-interpreter
次にOPENAI_API_KEYを登録します。
export OPENAI_API_KEY=your_api_key
あとは、プログラムを書き実行するだけです。
ファイル名は、open_interpreter.py。
以下はプログラムの一例です。
import interpreter
interpreter.chat("print hello world")
プログラムを実行します。
python3 open_interpreter.py
実際にできているか確認してみましょう。
以下のように、プログラム、実行結果、コメントが出力されているので、OKです!
次はWindowsでの実行手順を見ていきましょう
ローカル環境(Windows編)
まずはPower shellを開き、以下のコマンドを入力します。
pip install open-interpreter
次にOPENAI_API_KEYを登録します。
$env:OPENAI_API_KEY = "your-api-key"
以下を叩いて、登録できているか確認します。
echo $env:OPENAI_API_KEY
登録できてますね!
あとは、Macと同様に、プログラムを書き実行するだけです。
ファイル名は、open_interpreter.py。
以下はプログラムの一例です。
import interpreter
interpreter.chat("print hello world”)
プログラムを実行します。
python3 open_interpreter.py
実際にできているか確認してみましょう。以下のように、プログラム、実行結果、コメントが出力されているので、OKです!
次は、Docker+LLAMAで実行する方法をご紹介します。
Open InterpreterをDocker+LLAMAで使う
まず、Dockerfileを用意します。
内容は必要最低限となっていて、Ubuntuの最新版にpythonとpip、そしてOpen Interpreterをインストールします。
「pip install open-interpreter」で最新版Open Interpreterをインストールできますが、ローカルで動かすにはLM Studioを使わないといけないようなので、今回は0.1.4というバージョンを使うことにしました。
Dokerfileが置いてある場所で下記コマンドを実行し、イメージを作成します。
docker build -t openinterpreter .
最後のopeninterpreterはイメージ名になるのでお好みで変更してください。
イメージの作成が完了したら下記コマンドでDockerコンテナを起動します。
docker run -it -rm openinterpreter /bin/bash
プロンプトの表記が「英数字の羅列:~#」になっていれば起動完了です。
下記コマンドでOpen Interpreterを実行します。
interpreter -y
GPT-4のAPIキーを聞いてくるのですが、ここで何も入力せずにエンターを押すとCode-Llamaを使うことができます。
Code-Llamaの設定画面に移動するので、パラメーター、GPUの使用など使いたい環境をセットアップします。
途中、llama-cpp-pythonのインストールを勧めてくるので、yを押してインストールしてください。
「Finished downloading ….」という表示がでればすべてのセットアップが完了です。
「 > | 」という表示のあとにプロンプトを入力します。
次は、Google Colab上でも実行できる方法をご紹介します。
Goolge Colabのクラウド環境で使う(Githubからインストール)
Open InterpreterのGithubからGoogle Colabファイル(クラウド環境)が公開されていました。
まず、上記をクリックしてモジュールのインストール。
!pip install open-interpreter
# Google Colab users: restart your runtime here
次に、your_openai_api_keyを、自身のOpenAI APIキーに置き換えます。
(なお、OpenAIのAPI Keyを使っているので、ある意味ChatGPTで動いていると言えますが、ここのキーはCode Llamaなどの他のLLMでも可能です。)
import interpreter
# Paste your OpenAI API key below.
interpreter.api_key = "your_openai_api_key"
プログラム実行前の確認をオフにして、自動的に実行するように設定する。
interpreter.auto_run = True
これは、Google Colabの実行環境が、個別に用意されており、第三者にプログラムを実行されることがないからです。
実際にできているか確認してみましょう。
以下のように、プログラム、実行結果、コメントが出力されているので、OKです!
Open InterpreterをAzure OpenAIで使ってデータ分析する
Open Interpreterは、クラウドプラットフォームであるAzure OpenAI上でも動作します。
今回はデータ分析する方法を参考例としてみていきましょう。
まずは、以下のコードを実行して必要なライブラリをインストールしてください。
<span class="go">pip install open-interpreter
</span>
今回データ分析に使用するのは、diamonsデータセットのCSVファイルです。
次は、Pythonファイルを実行していきます。
<span class="kn">import</span> <span class="n">interpreter</span>
<span class="kn">import</span> <span class="n">os</span>
<span class="n">os</span><span class="p">.</span><span class="n">environ</span><span class="p">[</span><span class="sh">'</span><span class="s">AZURE_API_KEY</span><span class="sh">'</span><span class="p">]</span> <span class="o">=</span> <span class="sh">"</span><span class="s">キーを指定</span><span class="sh">"</span>
<span class="n">os</span><span class="p">.</span><span class="n">environ</span><span class="p">[</span><span class="sh">'</span><span class="s">AZURE_API_BASE</span><span class="sh">'</span><span class="p">]</span> <span class="o">=</span> <span class="sh">"</span><span class="s">エンドポイントを指定</span><span class="sh">"</span>
<span class="n">os</span><span class="p">.</span><span class="n">environ</span><span class="p">[</span><span class="sh">'</span><span class="s">AZURE_API_VERSION</span><span class="sh">'</span><span class="p">]</span> <span class="o">=</span> <span class="sh">"</span><span class="s">2023-07-01-preview</span><span class="sh">"</span>
<span class="c1"># gpt-4はデプロイ名
</span><span class="n">interpreter</span><span class="p">.</span><span class="n">model</span> <span class="o">=</span> <span class="sh">"</span><span class="s">azure/gpt-4</span><span class="sh">"</span>
<span class="n">interpreter</span><span class="p">.</span><span class="nf">chat</span><span class="p">()</span>
環境変数は自分の環境に合わせて調整してください。
上記のファイルを実行した後は、以下のコマンドを入力します。
<span class="go">次のCSVファイルを解析してください。ファイルは"(diamonds.csvのパスを指定)"にあります。 基本統計表を出し てください。コード生成でエラー が出ないように注意してください。
</span>
上記のコマンドを入力すると、Azure OpenAI上で会話が始まります。
コードを実行するか確認するために「y or n」を順次入力しましょう。
筆者の場合は実行結果が以下のようになりました。
<span class="go"> carat depth ... y z
count 53940.000000 53940.000000 ... 53940.000000 53940.000000
mean 0.797940 61.749405 ... 5.734526 3.538734
std 0.474011 1.432621 ... 1.142135 0.705699
min 0.200000 43.000000 ... 0.000000 0.000000
25% 0.400000 61.000000 ... 4.720000 2.910000
50% 0.700000 61.800000 ... 5.710000 3.530000
75% 1.040000 62.500000 ... 6.540000 4.040000
max 5.010000 79.000000 ... 58.900000 31.800000
[8 rows x 7 columns]
以下は、"diamonds.csv"ファイルの基本的な統計情報です:
carat depth table price x y z
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
count 53940 53940 53940 53940 53940 53940 53940
mean 0.798 61.75 57.46 3933 5.73 5.73 3.54
std 0.474 1.43 2.23 3989 1.12 1.14 0.71
min 0.2 43 43 326 0 0 0
25% 0.4 61 56 950 4.71 4.72 2.91
50% 0.7 61.8 57 2401 5.7 5.71 3.53
75% 1.04 62.5 59 5324 6.54 6.54 4.04
max 5.01 79 95 18823 10.74 58.9 31.8
これらの統計情報は、各列のカウント、平均、標準偏差、最小値、25パーセンタイル、中央値(50パーセンタイル)、75パーセン
タイル、最大値を示しています。
</span>
上記を参照すると、基本的な統計情報が表形式で返ってきていることがわかります。
ここまででデータ分析が完了です。
なお、Azure OpenAIについて詳しく知りたい方は、以下の記事も併せてご覧ください。
Open Interpreterを実際に使ってみた
では、早速Open Interpreterを実際に使ってみましょう!
Open Interpreterの基本的な使い方
Open Interpreterは、以下の構文で記述し実行します。
interpreter.chat(“{prompt}”)
では、Google Colabにあったプログラムを試してみましょう。
まずは、再掲になりますが、以下を実行しました。
interpreter.chat("Please print hello world.")
定番の「Hello World」と出力するプログラムを作るように指示。
すると、以下のような出力が。
プログラム、実行結果、実行に成功したというコメントが出力されています!
ここまで一挙にやってくれるなんてすごい……
次は、数学に関するタスク。
以下のように実行します。
interpreter.chat()
ですので、以下を入力。
Can you solve this equation? 10x + 14 = 21 / 3
以下の結果が出力されます。
こちらも正しい結果が出ていますね。
最後は、ウェブブラウジング
以下のプロンプトを入力します。
What are the last 10 BBC news headlines?
以下のような結果が出力されます。
かなりのことはOpen Interpreter に任せられるのではないでしょうか?
Interpreter Visionで画像認識させてコーディングをする
ウェブサイトを見ていて、「こんな感じのものをコーディングしたい」と思ったことはありませんか?
Open Interpreterは画像認識も行えるので「こんな感じ」も汲み取ってくれます!今回はWindowsのローカル環境+GPT4(Open AI KEY使用)で試してみました。
まずは下記コードを実行してOpen Interpreterをアップデートします。
pip install --upgrade open-interpreter
あとはオプションを付けてOpen Interpreterを実行するだけです!
interpreter --vision
「Vision enabled」という記述があれば準備完了です!
ではこんな感じのドロップダウンをTailwind CSSを使って作ってもらいましょう。
プロンプトは下記のようにしました。
Can you recreate this dropdown with Tailwind CSS? “画像のパス”
※ “画像パス”のところは適宜変更してください。
注意点としては、日本語で書いたらエラーを吐いてOpen Interpreterが落ちてしまったので、プロンプトはもちろん、画像パスも英語で書くことをおすすめします。
プロンプト入力後、解説文とコードが1分もかからずブワーッと一気に生成されました。
最後に「実行しますか?」と聞いてくるので「y」入力してエンターを押すとブラウザが立ち上がって動作の確認まで行えました!
実際に出力されたものがこちらです。
完璧じゃないでしょうか?
しかも、サンプル画像では全部黒字だったのですが「Delete」だけ注意しないといけないボタンだからか、赤字になっています!
すごすぎますね・・・。
次は、Open Interpreter の推しポイントを検証していきましょう!
Open Interpreterの推しポイントは本当なのか?
次の3つをChatGPTのCode Interpreterと比較しようと思います。
- 多様なプログラミング言語に対応
- インターネットアクセス
- ファイルアップロードの制約なし
多様なプログラミング言語に対応
まずは、対応しているプログラミング言語について。Open Interpreterは、多言語に対応しているのか確認します。
公式の記載によると、JavaScriptやBash に対応しているんだとか。JavaScriptで、Hello World をさせてみました。
以下のプロンプトを入力。
interpreter.chat("Please print hello world by JavaScript")
確かにできてますね。
ちなみに、Code Interpreterは、JavaScriptはできないです。
以下のプロンプトを入力しました。
Please print hello world by JavaScript and execute.
すると、、、この環境では、Pythonしか実行できないと言われました。
ということで、Code Interpreterでは、JavaScirptを書くことはできませんでした。
インターネットアクセス
次は、インターネットにアクセスできるかどうか。
再掲ですが、Open Interpreterは確認済みです。
BCCの最新ニュースを10個取り込めてましたよね。
ちなみに、Code Interpreterに依頼すると以下でした。
Code Interpreterではできてないですねー。
ちなみに、やや脱線しますが、サードパーティプラグインのWebPilotを使えば取得は可能です。
ただ、Code Interpreterとの併用はできず、都度切り替えが必要になりやや面倒でしょう。
ファイルアップロードの制約なし
次は、ファイルアップロードの制約について。
今までとは順番が逆転しますが、まずはCode Interpreterについて。こちらは、アップロードに120秒かかる場合、
またはファイルサイズが100 MBを超える場合、アップロードできません。
試しに、6GB超えのファイルをChatGPTへアップロードしてみます。
試みたけど、画面上に赤い文字が……。
このように、アップできません。
一方で、Open Interpreterは、制約がありません。
以下をローカルで実行しました。
interpreter.chat("Read xxmix9realisticsdxl_testV20.safetensors on my desktop and if successful print successful.")
successful と返ってきているので読み込めてますね。
ということで、Open Interpreterの場合は、ファイルサイズなどの制約なしにアップロードできるということですね。
これまでの結果を表にまとめると……
機能・特性 | Open Interpreter | Code Interpreter |
---|---|---|
多様なプログラミング言語に対応 | ✅ | ❌ |
インターネットアクセス(ブラウジング) | ✅ | ❌ |
ファイルアップロード制約上限なし | ✅ | ❌ |
bash、shellの対応 | ✅ | ❌ |
Open Interpreterの推しポイントは本当でした!!
OpenAIが開発したCode Interpreterよりも全然優れていますね。
性能が優れているだけでなく、無料で使用できるということで、もはやCode Interpreterを使う必要ないのでは…?と思ってしまいます。
OpenInterpreterは自動でタスクを実行してくれる近未来のツールだった
Open Interpreterの概要、導入、使ってみた感想、そして、推しポイントの検証結果をまとめます。
Open Interpreterの概要
Open Interpreterは多機能かつ柔軟性の高いオープンソースのプログラミングツールです。以下の特性が特に注目されています。
- ローカル環境での動作: インターネットへのフルアクセスが可能で、外部APIやデータベースに自由にアクセスできます。
- 多様なプログラミング言語に対応: Python、JavaScript、Bashなど、多くのプログラミング言語をサポートしています。
- パッケージとライブラリ: 任意のパッケージやライブラリを使用でき、プロジェクトに最適なツールを選べます。
- 制限のない実行時間とファイルサイズ: 大規模なデータ分析や計算処理もスムーズに行えます。
- 高度なセキュリティ対策: コードを実行する前にユーザーの確認が必要で、安全性が高まります。
- コストパフォーマンス: オープンソースプロジェクトであり、無料で使用できます。
これらの特性は、プロジェクトの柔軟性と効率性を大幅に向上させるため、スタートアップから大企業、個人開発者まで幅広いユーザーにとって非常に有用です。
Open Interpreterの導入方法
公式から提供されているGoogle Colabのファイルをもとに導入しました。
Open Interpreterを実際に使ってみた
以下の3タスクをOpen Interpreterに実行させてみました。
- プログラム作成
- 数学
- ウェブブラウジング
どれも正しく動いてました。
Open Interpreterの推しポイントは本当なのか?
いくつかある推しポイントを類似サービスのCode Interpreterと比較してみました。
機能・特性 | Open Interpreter | Code Interpreter |
---|---|---|
多様なプログラミング言語に対応 | ✅ | ❌ |
インターネットアクセス(ブラウジング) | ✅ | ❌ |
ファイルアップロード制約上限なし | ✅ | ❌ |
bash、shellの利用 | ✅ | ❌ |
OpenAIが開発したCode Intepreterよりも圧倒的に優れているという結果になりました。
Open Interpreterの推しポイントは本当でした!!
生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。