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