この記事のポイント
- ローカル環境でChatGPT類似の体験を提供するChatBOT UIの導入と機能を紹介
- データ保護を優先し、セキュリティやプライバシーを考慮したChatBOT UIの特徴に注目
- ChatBOT UIのフォルダ分け、検索、プロンプトテンプレート保存など便利な機能を解説
- Dockerの導入からAPIキー取得、インストール手順を画像付きで詳細に説明
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
「ChatGPTをローカル環境で利用したい」「試してみたいけど環境構築が難しそう」とお考えの方も多いのではないでしょうか。
本記事では、OpenAIのAPIを利用し、データ保護を重視しながらChatGPTに類似した体験を提供する「ChatBOT UI」の導入手順や機能についてわかりやすく解説しています。
さらに、ChatBOT UIを用いて利用できるオープンソースのLLMについてもご紹介。
個々の導入から基本操作、応用までを丁寧に説明するので、ローカル環境でのChatGPT利用を検討されている方は、この機会にぜひご一読ください。
最新モデル、OpenAI o1(o1-preview)について詳しく知りたい方は、こちらの記事もご覧ください⬇️
OpenAI o1(ChatGPT o1)とは?その特徴や使い方、料金体系を徹底解説!
目次
ChatGPTをローカル環境で利用する方法
2024年7月現在、OpenAIのポリシーの関係上、ChatGPTを完全なローカル環境で使用するということは難しいです。
しかし、データ保護やプライバシーの観点から、「ChatGPTをローカル環境で利用したい」という方もいらっしゃるかと思います。
ChatGPTの登場以降、ローカル環境で利用できるLLMは多数発表されていますが、要求されるスペックのハードルが非常に高いものが多いです
そこで今回はOpenAIのAPIを利用して、ローカル環境でChatGPTを利用できる「Chatbot UI」について紹介していきます。
また、Chatbot UIはAPIだけでなくLlamaやMistralといったオープンソースLLMを利用することも可能ですので、「色々なモデルを触ってみたい」という方にもおすすめです。
ChatbotUIとは
Chatbot UIとは、ChatGPTのクローンの様なUIを体感できるオープンソースのツールです。
Chatbot UI overhaul drops next week.
— Mckay Wrigley (@mckaywrigley) December 22, 2023
It’s honestly really, really good.
Powerful & polished.
And as always, 100% open-source. pic.twitter.com/enLG83iTNe
ChatGPTのWebUIには無い機能として、会話履歴のフォルダ分けやキーワードによる検索、さらにはよく使うプロンプトをテンプレートとして保存するといった機能があります。
また、ChatGPTの利用においては、入力データが言語モデルの学習に利用されてしまいますが、API経由の場合はデータの収集が行われません。
つまり、Chatbot UIはAPI経由でGPTを利用するので、ChatGPTの様な操作感を保ちつつ、データが保護された環境で利用できるのです。
ChatbotUIのメリットとデメリット
Chatbot UIを使ってChatGPTをローカル環境で利用するメリットは、データのプライバシーとセキュリティが確保できる点です。
機密情報を扱う企業や、個人情報の取り扱いに注意が必要な場合に特に有用でしょう。
一方、デメリットとしては、ローカル環境でのリソース消費が大きい点が挙げられます。
また、インターネット接続が必要なため、完全にオフラインで使用することはできません。
ChatBOT UIの導入方法
Chatbot UIの導入には、DockerとOpenAIのAPIキーが必要です。
以下に、導入手順を画像付きで詳しく解説します。
【事前準備】
- 環境構築にはDockerを利用するので、こちらのDockerのリンクからダウンロードしてください。
- Chatbot UIの利用にはOpenAIのAPIキーが必要です。事前にAPIキーの用意をしましょう。取得手順については下記の記事をご覧ください。
【関連記事】
➡️ChatGPT(OpenAI)のAPIキー発行・取得手順を解説!支払い方法も
具体的な導入手順
- 先のリンクから自分の環境に合わせてダウンロードしたDocker Desktop Installerを起動すると、パソコンが再起動した後に下記の画面が表示されるので「Accept」をクリックします。
導入手順1
- すると、このような画面になるのでどちらかを選んで「Finish」をクリックします。
導入手順2
- アカウントを持っている場合は「Sign in」、持っていない場合は「Sign up」でアカウントを作成しましょう。
導入手順3
4.dockerの利用準備を終えたので、以下のコードでChatbot UIのリポジトリをクローンします。
git clone https://github.com/mckaywrigley/chatbot-ui.git
5.下記コードを順に用いてChatbot UIのフォルダを開き、Dockerでコンテナをビルドします。
cd chatbot-ui
docker build -t chatgpt-ui .
「ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory」
というエラーが出てきた場合は、クローンしたChatbot UIのフォルダを開き「Dockerfile」というファイルを作った後に、下のようなDockerイメージの構築手順を記述することで改善されました。
エラー例
# ベースイメージの指定
FROM ubuntu:latest
# 作業ディレクトリの指定
WORKDIR /app
# ファイルの追加
COPY . /app
# コマンドの実行
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
# ポートの公開
EXPOSE 80
# コンテナ起動時に実行されるコマンドの指定
CMD ["python3", "app.py"]
6.これでChatbot UIの起動が完了します。
ChatBOT UIの使い方(基本操作)
今回はGithub より、以下のdocker composeを使用します
主な特長
- プライバシー管理: 統計レポートがないため、プライバシーはユーザーの手に渡ります。
- 速度: クライアントは高速パフォーマンスを実現するために最適化されています。
- カスタマイズ: ユーザーはカスタム データ ソースとデータ タイプを追加できます。
- 互換性: ChatGPT の公式機能相互作用と一致します。
version: '3'
services:
chatgpt-client:
image: soulteary/chatgpt
restart: always
ports:
- 8090:8090
environment:
APP_PORT: 8090
APP_HOSTNAME: "http://localhost:8090"
APP_UPSTREAM: "http://sparrow:8091"
sparrow:
image: soulteary/sparrow
restart: always
environment:
WEB_CLIENT_HOSTNAME: "http://localhost:8090"
ENABLE_OPENAI_API: "on"
OPENAI_API_KEY: "sk-********"
logging:
driver: "json-file"
options:
max-size: "10m"
上記のDocker Composeファイルを使用することで、ChatBOT UIとそのバックエンドサービスであるSparrowを簡単にセットアップできます。
ChatBOT UIはローカルホストのポート8090でアクセス可能で、OpenAI APIキーを設定することでChatGPTの機能を利用できます。
会話履歴のインポート/エクスポート
ChatBOT UIでは、会話履歴をJSON形式でインポートおよびエクスポートすることができます。
これにより、別のデバイスやアプリケーションとの間で会話データを移行したり、バックアップを取ったりすることが可能です。
プロンプトのテンプレートを保存する
よく使うプロンプトをテンプレートとして保存しておくことで、効率的にチャットボットとのやり取りを行うことができます。
テンプレートは、カテゴリー別に管理することも可能です。
過去の会話履歴の検索都分類
ChatBOT UIでは、過去の会話履歴をキーワードで検索したり、カテゴリー別に分類したりすることができます。これにより、必要な情報を素早く見つけ出すことが可能です。
以上のように、ChatBOT UIは、ChatGPTの基本的な機能に加えて、会話履歴の管理やプロンプトのテンプレート化など、ユーザーの利便性を高める様々な機能を提供しています。
これらの機能を活用することで、より効率的かつ効果的にチャットボットを利用することができるでしょう。
まとめ
本記事では、ChatGPTをローカル環境で利用するための「Chatbot UI」の導入方法と特徴について解説しました。Chatbot UIは、APIを介してChatGPTを利用しつつ、会話履歴の管理やプロンプトのテンプレート保存などの追加機能を提供します。
セキュリティやプライバシーを重視し、データ保護を優先してChatGPT類似の体験を実現したい方にとって、Chatbot UIは有用な選択肢となるでしょう。また、会話履歴のインポートやエクスポート、過去の会話の検索や分類など、ユーザーの利便性を高める機能も備えています。
ローカル環境でのChatGPT利用は、データのセキュリティとプライバシーを確保しつつ、AIチャットボットの活用を推進する上で重要な役割を果たすと考えられます。Chatbot UIのような優れたツールを活用することで、より安全で効果的にChatGPTを利用できるでしょう。