Closed5

ChatGPTクローンを試す(Chatbot UI編)

kun432kun432

Chatbot UI

https://github.com/mckaywrigley/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からも設定できるが多分ブラウザ閉じたら消える)

https://github.com/mckaywrigley/chatbot-ui/#configuration

所感

  • 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サーバを建てるやり方が紹介されている。

https://note.com/mahlab/n/n99f28f55287b

Azureのモデル選べないとかストリーミングできないのもこれなら回避できそうな気がする。

(追記)プラグインも使えるみたいです。

https://zenn.dev/tfutada/articles/b4062347cb4769

導入事例

https://developers.prtimes.jp/2023/04/05/use-chatbot-ui/

https://techblog.asahi-net.co.jp/entry/2023/06/22/095535

https://speakerdeck.com/lmi/chatgpt-meetup-230511-link-and-motivation

参考

https://dev.classmethod.jp/articles/chatgpt-webui-chatbot-ui/

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