テックブログ

エルカミーの技術ブログです

🤖 BetterChatGPT とは?

はじめに


BetterChatGPTはOpenAIのChatGPT APIを活用したチャットボットアプリです。ChatGPTと同様のUIで、ChatGPTにはない便利な機能が備わっています。また、APIを介して、ChatGPTを利用するため、入力した情報が学習に使われることがありません。今回は、そんなBetterChatGPTについて紹介します。

BetterChatGPTとは


image block

BetterChatGPTは上の画像のように、ChatGPTとほぼ同じUIをしています。使用感もほとんど変わりません。また、BetterChatGPTには、ChatGPTにはない機能が提供されています。

例えば、チャットの内容をフォルダに整理することや、チャットの内容をインポート、エクスポートすることができます。まtあ、モデルもGPT-3だけでなくGPT-4も選択できます。ほかにも、以下の便利な機能があります。

  • ChatGPTの地域制限を回避するプロキシ
  • プロンプトライブラリ
  • チャットとフォルダのフィルタリング
  • トークン数と価格設定
  • ShareGPTとの統合
  • ユーザー/アシスタント/システムとしてチャット
  • 任意のメッセージを編集、並べ替え、挿入
  • チャットタイトルジェネレータ
  • チャットを自動的にローカルストレージに保存
  • チャットのダウンロード(マークダウン/画像/json)
  • Googleドライブとの同期
  • Azure OpenAIエンドポイントのサポート
  • 複数言語対応(i18n)

BetterChatGPTを使ってみる


今回は、WebサイトにアクセスしてBetterChatGPTを使う方法と、Dockerで構築し使う方法を紹介します。

Wwbサイトにアクセス

BetterChatGPTのWebサイトが開設されています。そちらにアクセスすることですぐに使うことができます。

アクセスすると以下の画面が出てくるので、OpenAIのAPIキーを入力すれば使うことができます。

image block
Dockerで構築

構築手順は以下の通りです。

💡
構築手順
  1. リポジトリをクローンする
  2. BetterChatGPTディレクトリに移動
  3. .env.exampleをコピーし、.envにリネーム
  4. .envファイルを設定
  5. Dockerをビルド
  6. Dockerコンテナを起動

  1. リポジトリをクローンする
git clone https://github.com/ztjhz/BetterChatGPT.git

  1. BetterChatGPTディレクトリに移動
cd BetterChatGPT

  1. .env.exampleをコピーし、.envにリネーム

BetterChatGPTのGitHub上に.env.exampleファイルがあります。このファイルをコピーし、.envにリネームします。

.envファイルは以下のようになります。

# All options are optional, remove those you do not need
VITE_CUSTOM_API_ENDPOINT=
VITE_DEFAULT_API_ENDPOINT=
VITE_OPENAI_API_KEY=
VITE_DEFAULT_SYSTEM_MESSAGE=     # Remove this line if you want to use the default system message of Better ChatGPT
VITE_GOOGLE_CLIENT_ID=           # for syncing data with google drive

  1. .envファイルを設定

VITE_OPENAI_API_KEYに自身のOpenAI APIを入力します。

  1. Dockerをビルド
docker build -t betterchatgpt .

  1. Dockerコンテナを起動
docker run -d -p 3000:3000 betterchatgpt

http://localhost:3000/にアクセスすることで使用できます。

まとめ


BetterChatGPTはOpenAIのChatGPT APIを活用したチャットボットアプリで、ChatGPTにはない便利な機能が備わっています。社内で利用する際はこちらのUIを活用できそうだと思いました。BetterChatGPTはオープンソースなので、自由にカスタマイズできます。使いやすいようにカスタマイズしていくのも面白いと思います!

参考