AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

ChatGPTをローカル利用できる!Chatbot UIの構築方法を徹底解説

この記事のポイント

  • ローカル環境で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利用を検討されている方は、この機会にぜひご一読ください。

ChatGPTをローカル環境で利用する方法

2024年5月現在、OpenAIのポリシーの関係上、ChatGPTを完全なローカル環境で使用するということは難しいです。

しかし、データ保護やプライバシーの観点から、「ChatGPTをローカル環境で利用したい」という方もいらっしゃるかと思います。
ChatGPTの登場以降、ローカル環境で利用できるLLMは多数発表されていますが、要求されるスペックのハードルが非常に高いものが多いです

そこで今回はOpenAIのAPIを利用して、ローカル環境でChatGPTを利用できる「Chatbot UI」について紹介していきます。
また、Chatbot UIはAPIだけでなくLlamaやMistralといったオープンソースLLMを利用することも可能ですので、「色々なモデルを触ってみたい」という方にもおすすめです。


ChatbotUIとは

Chatbot UIとは、ChatGPTのクローンの様なUIを体感できるオープンソースのツールです。

ChatGPTのWebUIには無い機能として、会話履歴のフォルダ分けやキーワードによる検索、さらにはよく使うプロンプトをテンプレートとして保存するといった機能があります。

また、ChatGPTの利用においては、入力データが言語モデルの学習に利用されてしまいますが、API経由の場合はデータの収集が行われません。
つまり、Chatbot UIはAPI経由でGPTを利用するので、ChatGPTの様な操作感を保ちつつ、データが保護された環境で利用できるのです。

ChatbotUIのメリットとデメリット

Chatbot UIを使ってChatGPTをローカル環境で利用するメリットは、データのプライバシーとセキュリティが確保できる点です。
機密情報を扱う企業や、個人情報の取り扱いに注意が必要な場合に特に有用でしょう。

一方、デメリットとしては、ローカル環境でのリソース消費が大きい点が挙げられます。

また、インターネット接続が必要なため、完全にオフラインで使用することはできません


ChatBOT UIの導入方法

Chatbot UIの導入には、DockerとOpenAIのAPIキーが必要です。
以下に、導入手順を画像付きで詳しく解説します。

事前準備

  1. 環境構築にはDockerを利用するので、こちらのDockerのリンクからダウンロードしてください。

  2. Chatbot UIの利用にはOpenAIのAPIキーが必要です。事前にAPIキーの用意をしましょう。取得手順については下記の記事をご覧ください。

【関連記事】
➡️ChatGPT(OpenAI)のAPIキー発行・取得手順を解説!支払い方法も

具体的な導入手順

  1. 先のリンクから自分の環境に合わせてダウンロードしたDocker Desktop Installerを起動すると、パソコンが再起動した後に下記の画面が表示されるので「Accept」をクリックします。

導入手順1
導入手順1

  1. すると、このような画面になるのでどちらかを選んで「Finish」をクリックします。
    導入手順2
    導入手順2

  2. アカウントを持っている場合は「Sign in」、持っていない場合は「Sign up」でアカウントを作成しましょう。
    導入手順3
    導入手順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の機能を利用できます。

terminal

会話履歴のインポート/エクスポート

ChatBOT UIでは、会話履歴をJSON形式でインポートおよびエクスポートすることができます。

これにより、別のデバイスやアプリケーションとの間で会話データを移行したり、バックアップを取ったりすることが可能です。

english

conversation1

プロンプトのテンプレートを保存する

よく使うプロンプトをテンプレートとして保存しておくことで、効率的にチャットボットとのやり取りを行うことができます。

テンプレートは、カテゴリー別に管理することも可能です。

過去の会話履歴の検索都分類

ChatBOT UIでは、過去の会話履歴をキーワードで検索したり、カテゴリー別に分類したりすることができます。これにより、必要な情報を素早く見つけ出すことが可能です。

以上のように、ChatBOT UIは、ChatGPTの基本的な機能に加えて、会話履歴の管理やプロンプトのテンプレート化など、ユーザーの利便性を高める様々な機能を提供しています。
これらの機能を活用することで、より効率的かつ効果的にチャットボットを利用することができるでしょう。


まとめ

本記事では、ChatGPTをローカル環境で利用するための「Chatbot UI」の導入方法と特徴について解説しました。Chatbot UIは、APIを介してChatGPTを利用しつつ、会話履歴の管理やプロンプトのテンプレート保存などの追加機能を提供します。

セキュリティやプライバシーを重視し、データ保護を優先してChatGPT類似の体験を実現したい方にとって、Chatbot UIは有用な選択肢となるでしょう。また、会話履歴のインポートやエクスポート、過去の会話の検索や分類など、ユーザーの利便性を高める機能も備えています。

ローカル環境でのChatGPT利用は、データのセキュリティとプライバシーを確保しつつ、AIチャットボットの活用を推進する上で重要な役割を果たすと考えられます。Chatbot UIのような優れたツールを活用することで、より安全で効果的にChatGPTを利用できるでしょう。

AI活用のノウハウ集「AI総合研究所」サービスご紹介資料

「AI総合研究所 サービス紹介資料」は、AI導入のノウハウがないというお客様にも使いやすい最先端のAI導入ノウハウを知れる資料です。

資料ダウンロード
監修者

坂本 将磨

Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。

関連記事

AI導入の最初の窓口。

お悩み・課題に合わせて活用方法をご案内いたします。
お気軽にお問合せください。

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!