[ChutbotUI]爆速構築できるローカル版ChatGPTの使用感を共有!
概要
業務委託先で「データをちゃんと管理できるChatGPTを使いたい!」というお話がありました。(あるあるですね🤔)
そこで、今回はChatbotUI 1.0を用いてChatGPT likeなUIを開発しました。
今回はChatBotUIを使ってみた所感について記載します。結論としては、 「本家の主要機能を抑えつつ、本家ChatGPTにもない便利機能もあってとてもいい!」 という所感です。
(アプリのデプロイ方法などはgithub記載通りなので割愛します。)
対象読者
- セキュリティなどの点からChatGPTをそのまま使えず、社内専用のGPTシステムを作りたい人
- ChatGPTのUIだけだと少し機能が物足りない人
アジェンダ
【A: 良かった点】
- UI/UXがChatGPTに似ていて学習コストが低い
- よく使うプロンプトを保存できる
- Browsingプラグインが利用可能
- フォルダ機能でチャットを管理しやすい
【B: 懸念点】
- プラグインが使えない
- 認証がデフォルトで入れられない
- 若干日本語入力の挙動が変
- (20230810時点で)chatgpt-turbo-16kが使えない
- 途中で文章生成が止まった場合にcontinueができない。(「続けて」というしかない)
【C: その他補足】
- ユーザ毎のチャットデータの保存方法について
- 自作プロンプトを他の人に共有したい場合
A:良かった点
1. UI/UXがChatGPTに似ていて学習コストが低い
Chatbot-UIライブラリは、ChatGPTに近しい色合い・UIになっています。多少違う点はありますが、新規ユーザーでも直感的に操作でき、学習コストが低いです。
2. よく使うプロンプトを保存できる
本家にはないのですが、よく使うプロンプトを保存できる機能があるので、効率的な運用ができます。しかもフォームに情報を入力することで、自動的にプロンプトにテキストを埋め込んでくれます。
これは非常に便利ですね!
利用する方法は以下です。
-
プロンプトを自作する
-
プロンプトを呼び出す
/
をチャットの文章に入れると、使用可能なプロンプトの一覧が出力されます。
-
フォーム入力をする。
フォームにテキストを入力することで、変数情報をプロンプトの中に埋め込むことができます。
よく使うプロンプトをじゃんじゃん保存して、じゃんじゃん使い回しちゃいましょう!
3. Browsingプラグインが利用可能
Google Searchを用いたブラウジング機能が提供されています。
本家ChatGPTでは今現在休止している機能になります。(著作権関連の問題らしいです。)
自分でGoogle API KeyとGoogle CSE IDを用意する必要がありますが、その手間を考えても便利な機能ですね!
4. フォルダ機能でチャットを管理しやすい
こちらも本家ChatGPTにない機能ですね。
画像に示す通り、各チャットをフォルダで管理することができます。
この機能のおかげで、「あの時チャットした内容どこだっけ!」ということも少なくなりそうですね。
B:懸念点
1. プラグインが使えない
残念ながら、ChatGPTのプラグインは現在利用できないようです。 今後に期待ですね。
2. 認証がデフォルトで入れられない
認証機能を入れる機能自体はこのリポジトリにはありません。 ただ、こちらはインフラ側での解決が可能で、例えば、CloudRrunなどを使用している場合であれば、GCPの機能を使って認証等を入れることができます。
3. 若干日本語入力の挙動が変
「プロンプト入力の際にエンターを押すと勝手にデータが保存されてしまう」など、若干挙動が不安定な部分が見受けられます。
4. (20230810時点で)chatgpt3.5-turbo-16kが使えない
現時点で利用できるモデルが「chatgpt3.5-turbo, chatgpt4, chatgpt4-32k」の三種類になります。
もしかしたら環境変数の値を変えることで無理やり使えるかもしれない。
5. 途中で文章生成が止まった場合にcontinueができない。(「続けて」というしかない)
ChatGPTには2023年5月ごろに導入されたContinue Genarating機能が現時点ではchatbot-uiにはありません。なので、 長い文章を生成するような使用例では少し精度が落ちる可能性があります。
C: その他補足
1. ユーザ毎のチャットデータの保存方法について
認証要素を入れなくて別ユーザであれば別のチャット履歴・フォルダ情報が保存されるようになっています。
サーバ内部にデータを保存する機構がなさそうだったので、(推測になりますが)キャッシュに保存されていそうです。
2. 自作プロンプトを他の人に共有したい場合
上記を踏まえると、誰かがプロンプト情報をセットしても違うユーザが使うとプロンプト情報は初期化されてしまいます。プロンプト情報を共有するにはコピペをするしかないのでしょうか?
いいえ、そんなことはありません。
結論、「会話履歴のインポート・エクスポート」を使えばプロンプト情報も同時に取得 してくれます。
業務効率化のプロンプトを大量に作ったら、こちらで共有しましょう!
まとめ
再度になりますが、非常に使いやすいライブラリでした。
本家のUIの主要機能を抑えつつ、本気よりも便利な機能もあって非常に使いやすいです。
一方でまだ未実装な機能や少し手を加える必要がある要件もあるので、そのトレードオフは各自で考えていただければと思います。
また、現在製品版では既にver2.0のリリースしている模様です。OSS版もver2.0になる予定らしいので、ある程度使用感が変わるかもしれません。そこはご理解いただいてお使いください。
(ver2.0でたら使用感を記載したいと思います。)
Discussion