Open Interpreter は、LLM(大規模言語モデル)をローカルで動作させるオープンソースの実装で、ローカル PC で、自然言語による命令によって様々な処理を実行させることができる。Open AI 社が Code Interpreter というサービスを Web 上で提供しているが、Open Interpreter は、ほぼ同様の機能をローカル PC で使えるというのが魅力。以下は、その Open Interpreter を Windows PC 上で動作させる手順。
LLM をローカルで実行できると何が良いのか
まず、LLM(Large Language Model)というのは、直訳すると「非常に大きな言語モデル」ということで、自然言語(プログラミング言語やコマンドなどの機械に対する命令ではない、英語や日本語など)の文章パターンや構造を学習して、テキスト生成や文章理解みたいなタスクをこなすAIの一種。例えば、それが日本語に対応していれば、日本語で様々な質問に答えたり、日本語の指示で文章を生成したり、翻訳したり、要約したり、文法チェックしたり、何なら指示通りのプログラムを書かせたりみたいなこともできる。
例えば、hoge.txt というファイルを開いて表示するということを PC で実行したい場合、Linux であれば「vi hoge.txt」とか、Windows であれば「notepad hoge.txt」などと命令することになるのだけど、LLM であれば、日本語で「hoge.txt を表示してください」などと指示すれば、よしなにそれをやってくれる、ということになる。プログラミング不要な時代が、もうすぐそこに……!?
Microsoft C++ Build Tools をインストール
言語モデルに「Llama2」を使用する場合、C++ をビルドできる環境が必要になる。Chat GPT Plus(有料プラン)でない場合は、必然的に「Llama2」を使うことになるので、C++ ビルドツールは必要になる。既に導入済みの場合は、本手順は不要。
以下のページを開く。
「Build Tools のダウンロード」をクリック。
vs_BuildTools.exe がダウンロードできたら実行。
「続行」で次へ。
「ワークロード」タブで「C++によるデスクトップ開発」にチェックを入れて「インストール」をクリック。
インストールが完了したら「✕」ボタンで閉じる。(起動する必要はない)
Python をインストール
既に導入済みであれば、この手順はスキップで OK。
Python がインストールされていない場合は、以下ページを開く。
初めてのインストールであれば、バージョンは最新で良い。ちなみに、後で Stable Diffusion を入れる予定がある場合は 3.10.6 がお勧め。
「Files」の中から「Windows installer (64-bit)」をダウンロード。
python-X.X.X-amd64.exe (X.X.X はバージョン)がダウンロードできたら、そのまま実行。
設定は大体デフォルトのままインストールで OK だけど、「Install Now」のところで一番下に表示されている「Add Python X.XX to PATH」(X.XX はバージョン)のチェックボックスは ON にして進める。
インストールが完了したら、軽く動作確認。Windows キー + R で「cmd」と入力するとコマンドプロンプトが開くので、そこで「python –version」と入力して、バージョンが表示されれば OK。
API キーを取得
もし Chat GPT Plus (Chat GPT の有料プラン)に入ってる方は、言語モデルに「GPT-3.5 Turbo」と「GPT-4」が使えるので、それを使うための API キーを取得しておく。
Open AI Platform のページを開く。
画面右上の「Personal」メニューの中から「View API keys」をクリック。
「Create new secret key」をクリック。
「Name」に適当な名前を入れて「Create secret key」をクリック。
キーが生成されるので、これをコピーして控えておく。
「Done」で閉じて、この手順は終了。
Python 仮想環境を作成
Open Interpleter を実行する Python の仮想環境を作成する。ここでは D:\Tools\OpenInterpleter というディレクトリを作成して、そこで作業することにする。
Windows キー + R で「cmd」と入力してコマンドプロンプトを開き、上記の場所に移動する。
cd /d D:\Tools\OpenInterpreter
そこで venv という名前の仮想環境を作成する(この名前は何でも良いが、別の名前にする場合は、以降読み替えること)
python -m venv venv
仮想環境を起動する。
venv\Scripts\activate.bat
これで「(venv)」 というプロンプトが表示されたら、Python の仮想環境が起動している。
pip を更新しておく。
python -m pip install --upgrade pip
「Successfully installed pip-23.2.1」と表示されたら OK。(バージョンはこれを実施時点の最新)
仮想環境で Open Interpreter をインストール
まず open-interpreter をインストールする。
pip install open-interpreter
「Successfully installed」に続けてライブラリとバージョンの一覧が表示されたら OK。
ここで、Chat GPT Plus な方は、先の手順で控えておいた API キーを環境変数にセットしておく。無料プランな方は、ここはスキップで OK。
set OPENAI_API_KEY=<前の手順で控えておいた API キー>
これで Open Interpreter を起動する準備は整ったので、各自の環境に応じて以下のコマンドのいずれかで起動する。
GPT-4 で起動
interpreter -y
GPT-3.5 Turbo で起動
interpreter --fast -y
ローカルで起動(言語モデルに Llama2 が使用される) 無料プランの人はコレ
interpreter --local -y
私は無料プランな人なので、一番下のコマンドで起動するわけだが、そうすると、まず Parameter count を聞かれるので「7B」を選択。
次に Quality を聞かれるので「Small」を選択。
GPU を使うか聞かれるので「y」を入力。
言語モデルがローカルにダウンロードされるので、しばらく待つ。
ダウンロードが終わったら「llama-cpp-python」をインストールするか聞かれるので「y」を入力。
llama-cpp-python のダウンロード、インストールが完了したら、インタープリタが起動する。
これで、命令ができるようになってるはず。
私はローカルでしか使ったことないけど、GPT-3.5 Turbo や GPT-4 の方はこんな手間はかからず、すぐにこの入力待ち状態になるかなと。
Open Interpreter を使ってみる
GPT-3.5 Turbo や GPT-4 であれば、日本語入力に対応してると思うので、日本語で何か入力してみると良いが、ローカル版(Llama2)は残念ながら日本語が使えないので、英語で命令してみる。
例えば、「Python で “Fizz Buzz” のコードを書いてください」と入力してみる。
Please write "Fizz Buzz" code with Python.
すると(ローカル版の場合)コードをもりもり書いて、実行までしてくれた。
Python 以外の言語はどうか。Java で “Hello World” アプリをつくってみて、と依頼してみる。
Please create a "Hello World" application with Java and output it as a maven project.
すると(ローカル版の場合)mvn でアーキタイプを持ってきて保存してくれた。そんな手が!
ただ、最後の方で何かエラーが…
ただ、Java コード自体はつくられてた。
こんな感じで、まだちょっとぎこちなさはあるものの、命令したことはやってくれる感じなので、もう少し洗練されてくれば実用も見えてきそうではある。もしかすると(ローカル版の場合)言語モデルの選択で Parameter count に「34B」とか、Quality に「Large」とか大きいものを選択すれば、もうちょっと賢くなるかも。また、言語モデルが GPT-4 とかであれば、もっと上手く解釈して処理してくれるのかもしれない。
ChatGPT Plus (毎月 $20)は、使ってみたいけど、ちょっと高いのよなぁ……。