Closed4

ChatGPT Code Interpreterクローンを試す(GPT-Code UI編)

kun432kun432

GPT-Code UI

Code Interpreter の yet anotherなOSS実装。

https://ricklamers.io/posts/gpt-code/

https://github.com/ricklamers/gpt-code-ui

UIも含めての実装、というところと、Azure用の.env.exampleがあるようなのでちょっと期待。

インストール

以下の記事でインストール手順等公開されている。

https://zenn.dev/karaage0703/articles/faaa61602a53d4

で、Dockerfileやdocker-compose.yml は以下にあるのだが、

https://github.com/localagi/gpt-code-ui-docker

  • docker-compose.yml使っているgpt-code-uiのイメージが古い(2023年5月頃のイメージ)
  • gpt-code-uiがAzure対応したのはつい最近。当然上記のイメージには含まれていない。
  • gpt-code-uiのmainに上記のDockerfileを持ってきてビルドしてみたけど途中でコケた。(gcc)

という感じ。少なくともAzure向けには動かない。

一応、ちゃんとしたDockerfile用意しようぜというissueとPRがあるのでそのうちできるようになるんじゃないかな、知らんけど(PRは一旦クローズされてる)

https://github.com/ricklamers/gpt-code-ui/issues/59

https://github.com/ricklamers/gpt-code-ui/pull/61

一応上記のissue/PRした人のレポジトリにはコードが合ってdockerイメージもあるみたいなんだけど、公式で対応入るならそっちでやればいいかということで、今回はとりあえずpyenv-virtualenv環境でやる。python-3.10.11。

READMEにあるパッケージをインストール。

$ pip install "numpy>=1.24,<1.25" "dateparser>=1.1,<1.2" "pandas>=1.5,<1.6" "geopandas>=0.13,<0.14" "tabulate>=0.9.0<1.0" "PyPDF2>=3.0,<3.1" "pdfminer>=20191125,<20191200" "pdfplumber>=0.9,<0.10" "matplotlib>=3.7,<3.8"
$ pip install gpt-code-ui

.env.azure-exampleをもとにAPIキー等をセット。READMEにあるけど、Azureではモデルの選択はできないとあるので、AZURE_OPENAI_DEPLOYMENTSは1つだけセットした。"name"がデプロイメント名になるらしい。

OPENAI_API_KEY=XXXXXXXXXX
OPENAI_API_TYPE=azure
OPENAI_API_BASE=https://XXXXXXXXXX.openai.azure.com
OPENAI_API_VERSION=2023-07-01-preview
AZURE_OPENAI_DEPLOYMENTS=[{"displayName":"gpt-35-turbo","name":"gpt-35-turbo"}]
OPENAI_API_LOGLEVEL=debug
API_PORT=5010
WEB_PORT=8080
SNAKEMQ_PORT=8765

gpt-code-uiを起動。gpt-code-uiのバージョンは0.42.39。

$ gptcode

ただどうも .envを読んでくれない模様。しょうがないのでこうする。

$ for i in `cat .env | grep -v "^#"`; do export $i; done
$ export | grep OPENAI

再度起動。

$ gptcode

立ち上がってきた。

適当にたたいてみるもエラー。

ログを見てみると、

message='Request to OpenAI API' method=post path=https://XXXXXX.openai.azure.com/openai/deployments/gpt-3.5-turbo/chat/completions?api-version=2023-07-01-preview

んー、デプロイメント名がただしく設定されていない。うちの場合はgpt-35-turboなのでgpt-3.5-turboになってるのはおかしい。環境変数でもちゃんとセットしているのだけど。どうもここはデフォルトが適用されてるように思える。バグかなぁ。。。

後で調べる。

kun432kun432

修正されたのかどうかわからないけど、0.42.40にアップデートしたら動くようになった。相変わらず.envは読んでくれないけども。

もう一つ試してみた。

ローカルにインストールされていた。

$ pip freeze | grep -i gtts
gTTS==2.3.2
kun432kun432

所感

UIが用意されていて公式と同じ感じなのは良い。Code Interpreter APIの今のUIは、チャット的にやりとりができないのでこの部分は自然。ただ、その反面、気になるところもチラホラ。

  • プロンプトの設定なのかわからないけど、日本語で、と言っても英語で返してくる。
  • 日本語IMEの確定時のENTERを送信として受け取ってしまう。かつてテキストエリアに残る。
  • チャットの履歴管理はない。新しい会話をやり直したければリロードする感じ。

まあまだ始まったばかりなのでしょうがないんだけど、こういうPRもあってちゃんと独立した環境を用意する感もあるので、ちょっと期待。

https://github.com/ricklamers/gpt-code-ui/pull/73

このスクラップは2023/07/30にクローズされました