「ChatGPTをローカル環境で使うことができるの?」「Chatbot UIの導入方法がわからない…」そう思う方もいるのではないでしょうか。
今回PROMPTYでは、GPTをローカル環境で利用できる「Chatbot UI」の導入手順と使い方を詳しく紹介します。
ChatGPTはローカル環境で使えるの?
現在のところ、ChatGPTはOpenAIのポリシーとAPIの設定により、インターネット接続を介してクラウドベースで動作する形で利用し、入力したデータがトレーニングに使われてしまいます。
現状では、ChatGPTのフルバージョンをローカル環境で直接使用することはできませんが、「Chatbot UI」というOpenのAPIを使った独自(非公式)のクライアントを利用することで、ローカル環境でもChatGPTと同等の機能を体験することができます。
Chatbot UIとは?
Chatbot UIは、ChatGPTのUIを再現した、独自のクライアントです。
ソースコードはオープンソースで公開されています。( https://github.com/mckaywrigley/chatbot-ui)
このChatbot UIは、OpenAI APIを利用して起動するため、APIキーを持っている方であれば、ChatGPTと同じようなUIを自身のローカル環境で使用することができます。
また、ChatGPTとの一番大きな違いは、Chatbot UIはOpenAI APIを経由してGPTを利用することから、ユーザーが入力した情報を学習データとして利用されないことです。
Chatbot UIの導入手順
ここでは、Chatbot UIの導入手順を解説します。今回はdocker上でChatbot UIを使用します。
この手順でChatbot UIを動かすためには、「Dockerがインストールされている」かつ「git コマンドが使用できる」ことが前提となるのでご注意ください。
Dockerのダウンロードページはこちら
gitのダウンロードページはこちら
(1)Docker上の環境構築を行う
はじめに、ChatbotUIのレポジトリを指定したフォルダにクローンします。
git clone --depth 1 https://github.com/mckaywrigley/chatbot-ui.git
続いてchatbot-uiのフォルダを開きます。
cd chatbot-ui
次に、Docker上のコンテナをビルドします。以下のコマンドを入力します。
docker build -t chatgpt-ui .
これで、Docker上での環境構築は完了です。
(2)OpenAIのAPIキーを取得する
Chatbot UIは、OpenAIのAPIを経由してGPTを使用します。そのため、Chatbot UIを起動するには、APIキーが必要です。
APIキーの取得方法は次の通りです。
OpenAI(https://openai.com/)にアクセスして、Log inまたはSign upをクリックします。
APIを選択してログインします。
画面上の”Personal”から”View API Keys”をクリック
ここでAPIキーに関する情報を確認することができます。”Create new secret key”からAPIキーを作成できます。
Chatbot UIを起動する
OpenAI のAPIキーを取得したら、Chatbot UIを起動しましょう。
以下のコマンドを入力します。
docker run -e OPENAI_API_KEY={APIキーを入力} -e DEFAULT_MODEL={モデル名を入力} -p 3000:3000 chatgpt-ui
OPENAI_API_KEYには、先ほど取得したAPIキーを貼り付けましょう。
DEFAULT_MODELには、text-davinci-003/gpt-3.5-turbo/gpt-4などのモデル名を入力します。
APIに使用できるモデルの詳細は、こちらで確認することができます。
コマンドを実行後、http://localhost:3000にアクセスすると、Chatbot UIを起動することができます。
Chatbot UIの使い方
Chatbot UIの使い方と、ChatGPTと比較して便利な機能をご紹介します。
Chatbot UIの基本操作
Chatbot UIを起動すると次のような画面が表示されます。
Chatbot UIに質問する前に、モデルの選択と、Temperature(回答のランダム性を調整する変数)を選択できます。今回は、モデルはgpt-3.5-turbo、Temperatureは0.7としました。
ChatGPTと同様に、画面下部のボックスにテキストを入力することで会話をすることができます。
はじめに、「自己紹介をしてください。」と質問してみます。
ChatGPTと同様に回答が返ってきました。回答の速度についても本家のChatGPTと変わらない速度でした。
Chatbot UIの便利な機能
プロンプトのテンプレートを保存できる
Chatbot UIではプロンプトのテンプレートを保存して呼び出すことができます。また、変数を決めることで、効率的に回答を得ることができます。
プロンプトの作成方法・使用手順は次の通りです。
チャット画面右上の”新しいプロンプト”をクリック
プロンプトのファイル作成したら、名前と説明、プロンプトを入力します。変数部分は{{}}でくくることで設定できます。
今回はソフトウェアの使い方を聞くプロンプトを入力します。名前は”software_use”としました。
#制約条件に従ってソフトウェアの使用方法を教えてください。
#制約条件
*#ソフトウェア名の検索結果を基にすること
*#目的を達成するための手順を説明すること
*ステップごとに丁寧に手順を説明すること
*曖昧な情報は記載しないこと
*参考となるページのリンクを記載すること
#ソフトウェア名
{{software_name}}
#目的
{{goal}}
プロンプトテンプレートを呼び出すには、チャット画面で”スラッシュ(/)”を入力します。
使用するプロンプトの名前をクリックすると、変数部分を入力する画面が表示されます。
変数には、software_name=「premire pro」、goalには「動画を編集してYoutubeにアップロードする」としました。
“Submit”をクリックすると、回答が出力されます。
特に問題なく、指定したソフトウェアの使い方を丁寧に教えてくれました。このように、Chatbot UIではよく使うプロンプトを保存して、変数のみ入力することで、効率的に回答を得ることができます。
チャットをフォルダに分けて管理することができる
Chatbot UIでは、チャットをフォルダに分けて管理することができます。今のところ、ChatGPTのUIでは導入されていない機能ですので、カテゴリごとに管理できるのは非常に便利です。
チャット画面左上のフォルダマークをクリックすることでフォルダを新規作成できます。
会話履歴をインポート/エクスポートできる
Chatbot UIでは、会話履歴をインポート/エクスポートすることができます。会話の内容のインポートは、ChatGPTのデフォルトの機能には備わっていないため、有用な機能です。
チャット画面左下から、会話履歴をインポート/エクスポートすることができます。
対応しているファイル形式は、現在JSONのみのようです。
まとめ
今回PROMPTYでは、ローカル環境でのGPTを使える”Chatbot UI”の導入から利用までの手順を紹介しました。
Chatbot UIを導入するまでには少し手間がかかりますが、Chatbot UIにはChatGPTにはない機能も備わっており、便利に活用することができます。
今回の解説を参考に、皆さまもChatbot UIを試して、ChatGPTとの比較を行ってみてはいかがでしょうか。