Closed2

ChatGPTクローンを試す(BetterChatGPT編)

kun432kun432

BetterChatGPT

https://github.com/ztjhz/BetterChatGPT

  • TypeScript製
  • OpenAI/Azure OpenAIに対応
  • 本家にない機能が使える

まあこの辺はchatbot-uiと同じ。

  • アプリがあるのは大きいかもしれない
    • Win/Mac/Linux

インストール

https://github.com/ztjhz/BetterChatGPT

Dockerfileがあるようなので一旦試してみる。

$ git clone https://github.com/ztjhz/BetterChatGPT && cd BetterChatGPT
$ docker build -t betterchatgpt .
$ docker run -p 3000:3000 betterchatgpt

できた。APIキーはUIから設定するのかな?

パラメータを細かく設定できるのはよさげ。

APIの設定だけど、Azureの場合はUIから設定できないっぽい。

.envがあるので、ここで

  • VITE_DEFAULT_API_ENDPOINT
  • VITE_OPENAI_API_KEY

にAzure OpenAIのエンドポイントとAPIキーを設定してdocker buildすれば動いた。

https://github.com/ztjhz/BetterChatGPT/blob/main/.env.example

ただ、Azure特有のデプロイメント名については、以下のissueの人のPRが参考になる。

https://github.com/ztjhz/BetterChatGPT/issues/296

https://github.com/ztjhz/BetterChatGPT/pull/297/files/43066a77a3986bb00b9394a461ce59b455524ba4

アドホックな感じでハードコードされているのだけど、モデル選択のドロップダウンリストはOpenAIのモデル名になってるので、Azureのデプロイメント名およびモデル名を一定のルールでマッピングすれば良い様子。

  • gpt-3.5-turboなら、モデル名と同じデプロイメント名(gpt-35-turbo)にしておけば、動くようになってる。
  • gpt-4は対応していないので、似たような修正をすれば良い。
  • APIバージョンはハードコーディングされてるけど、ここはそもそもUIで設定できるところでもないので、まあ最新にすればいいのだろうとは思う。ただ、ここを書き換えて動くかどうかは試してない。

ただ、chatbot-uiと違って、コードを修正すればAzureの場合でもGPT-3.5/GPT-4の切り替えはできそうという感じ。

以下も参考になるかも。

https://zenn.dev/imksoo/articles/b42e9210569374

所感

  • こちらもChatGPTライクに使える。
    ChatGPTにはない、会話履歴のインポート・エクスポートはあるし、細かいパラメータやプロンプトを調整できたりするのはよい。
  • 本家にあるプラグインやCode Interpreterみたいなのものはない、Web検索もない
  • Googleドライブ同期というのがある。チャット履歴かな?
  • Azureの場合はやはりストリーミングが効かない。APIバージョン上げたらできるんだろうか、それでそもそも動くのかわからんが。

ちょっとドキュメントが不十分な感があってつらいかな。issue見てるとわかることもあるんだけど。あとはAzureでストリーミング効かないのはちょっとつらいよなぁ。。。

余計な機能もいろいろあるのでこの辺を見せなくするみたいなカスタマイズは以下が参考になる。

https://zenn.dev/imksoo/articles/b42e9210569374

導入事例

https://made.livesense.co.jp/entry/2023/04/13/164000

https://www.docswell.com/s/beyond24365/ZLLJDG-2023-06-15-100534

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