Closed5
ChatGPTクローンを試す(Chatbot UI編)
経緯はここ。他のChatGPT/Code Interpreterクローンなども。
Chatbot UI
- TypeScript製
- OpenAI/Azure OpenAIに対応
- 本家にない機能が使える
インストール
Dockerでビルド。
$ git clone https://github.com/mckaywrigley/chatbot-ui && cd chatbot-ui
$ docker build -t chatgpt-ui .
起動。OpenAIの場合。
$ docker run -e OPENAI_API_KEY=xxxxxxxx -p 3000:3000 chatgpt-ui
Azure OpenAIの場合。
$ docker run \
-e OPENAI_API_TYPE=azure \
-e OPENAI_API_KEY=xxxxxxxx \
-e OPENAI_API_HOST=https://xxxxx.openai.azure.com \
-e OPENAI_API_VERSION=2023-03-15-preview \
-e AZURE_DEPLOYMENT_ID=XXXXX \
-e DEFAULT_MODEL=XXXXXX \
-p 3000:3000 chatgpt-ui
-
OPENAI_API_HOST
は、Azure OpenAI Serviceのエンドポイントを指定 -
OPENAI_API_VERSION
は、2023-03-15-preview
を指定。今だと2023-05-15
が最新のはずだけど、対応していないのかエラーになって動かない(resource not foundになる)。 -
AZURE_DEPLOYMENT_ID
は、デプロイメント名を指定、つまり、この時点でモデルと紐づくことになる。 - DEFAULT_MODELは、上記デプロイメントに紐づいているモデル名にする。OpenAIとAzureではモデル名が微妙に異なるので注意。
Google Custome Search APIも使う場合に追加で環境変数の指定が必要(UIからも設定できるが多分ブラウザ閉じたら消える)
所感
- ChatGPTライクに使える。
- ChatGPTにはない、会話履歴のインポート・エクスポートやよく使うプロンプトをテンプレート化して呼び出せるのは便利。どちらもフォルダ構造で管理できる。
- 本家にあるプラグインやCode Interpreterみたいなのものはない
- Web検索のみ対応(Google Custome Search API。APIキーが必要)
- Azureの場合は以下の制約がある。
- UIからモデルの切り替えができない。これはAzureの場合、デプロイメントとモデルが紐づいているからだと思う。
- ストリーミング出力ができない。
Azureだと少し使い勝手が下がるのがちょっと微妙か。あと更新がやや停滞しているようで、OpenAIでも新しいモデルはコードを直接書き換えないと使えない様子。forkして手を入れたほうが良さそう。
で、chatbot-ui以外のChatGPTクローンの多くにも言えるのだけど、人気のあるものはTypeScriptで書いてあることが多い。個人的にはPythonそしてLangChainでいろいろ拡張できるほうが嬉しい。そういう場合は以下のようにchatbot-uiのバックエンドにLangChainサーバを建てるやり方が紹介されている。
Azureのモデル選べないとかストリーミングできないのもこれなら回避できそうな気がする。
(追記)プラグインも使えるみたいです。
導入事例
参考
forkして開発してる方がいた
本家はもう全然手が入らないし、Python Interpreterとかかなりいろいろ拡張されてるみたいなので、使うならこっちかな。
ただまあうん・・・
azure chatgptどうもよくわからんことになってるし、こちらは開発継続してるようなので、十分選択肢になりうるのではないかと。
どうやらv2がでてくるらしい
このスクラップは2023/07/27にクローズされました