Code InterpreterのOSS実装「GPT-Code UI」「codeinterpreter-streamlit」を試してみた
GPT-Code UI
Code Interpreter APIを紹介しましたが、更にUIがついてよりCode Interpreter感覚で使えるOSS実装がありました。きっと非公式です。
このままでも、簡単に使えそうでしたが、環境構築とか気にせず使いたいので、Docker使おうかなと思ったら、既にDocker版もありましたのでありがたく使わさせていただきました。
ただ、微妙にハマりどころがあったので、少しだけメモしておきます。なお、OpenAI API KEYが必要です。
「gpt-code-ui-docker」の設定方法
Mac(Apple Silicon)とLinuxで試しました。試してないですが、きっとWindows(WSL2)でも動くでしょう。
Dockerのセットアップに関しては以下記事参照ください(Docker使っている人は読み飛ばしてOKです)。
Dockerインストールされていれば、あとはREADME通りです。
具体的には、OPEN_API_KEYをdocker-compose.yamlに書き込んでdocker compose upコマンドを実行してブラウザでhttp://localhost:8080にアクセスするだけです。
ポートが競合
なのですが、自分の環境だと以下のように8080ポートが既に使われているというメッセージが出て動きませんでした。
Port 8080 is in use by another program. Either identify and stop that program, or start the server with a different port.
「何か8080使っているプログラムがいるのか?」とpsコマンドうったら、動いているのはDockerなのでどうすりゃいいんだと思っていたらissueが立ってました
というわけでdocker-compose.yamlを以下の通り書き換えます。OPENAI_API_KEYには、自分のOpenAI API KEYを書きましょう(ネットには絶対アップしないようにしましょう)。
gpt-code-ui:
image: localagi/gpt-code-ui:${GPTCODEUI_VERSION:-main}
environment:
OPENAI_API_KEY: "your key"
APP_HOST: gpt-code-ui
WEB_PORT: 23754
ports:
- "23754:23754"
あとは、ターミナルでdocker compose upコマンドを実行して、ブラウザでhttp://localhost:23754にアクセスしましょう(ポート番号変更しているのに注意)。
必要なライブラリが無い
これでOKだとサインカーブを描こうとしたら、numpyが無いと言われます。

docker psして、docker exec -it <container name> bashしてログインしてpipで入れてもよいのですが、GUIのプロンプトでお願いしてもサクッと入れられちゃいます。べ、べんり。

ついでにmatplotlibも入れましょう。

もう一回サインカーブにチャレンジします。


ぶじサインカーブが描けました。

Streamlit実装
Code Interpreter APIとStreamlitを使った実装もありました。シンプルで良さそうですね。
こちらも簡単に動かせました。Code Interpreter APIを試してみたと同様.envのOPEN AI API KEYがとれなかったので、コードにベタがきしています。


まとめ
ChatGPT Code InterpreterのOSS実装を試してみました。GUIあるので、Code Interpreter感覚で使えますし、OpenAI APIの課金さえ許せば、Code Interpreterの制限を超えて使えるので良いですね。使いすぎ注意です。
関連記事
Discussion