チャットAIは、長い文章を要約したり、多数の情報元をまとめて検索して適切に返答を組み立てたりしてくれるため何かと便利な存在ですが、高性能なチャットAIは基本的にオンラインでしか利用できないため、情報が漏れる危険性が伴います。「PrivateGPT」はその名の通りプライバシーを重視したチャットAIです。完全にオフラインで利用可能なことはもちろん、さまざまなドキュメントを読み込んだ上で回答させることができるとのことなので、実際に使って使い勝手を試してみました。
PrivateGPT
https://www.privategpt.io/
imartinez/privateGPT: Interact privately with your documents using the power of GPT, 100% privately, no data leaks
https://github.com/imartinez/privateGPT
PrivateGPTを利用する前に、さまざまな環境設定を行っていきます。まずは「Gitのインストーラー」をダウンロードします。ダウンロードできたらインストーラーをダブルクリックで起動し、設定を一切変更せずインストールを進めていけばOK。
続いてPythonのダウンロードページへアクセスし、「Download Python 3.○○.○」と書かれた黄色いボタンをクリック。
「Add python.exe to PATH」にチェックを入れて「Install Now」をクリック。それ以外の設定は初期状態のままでインストールを進めていけばOKです。
さらにVisual Studioのサイトへアクセスし、「ダウンロード」から「Community 2022」をクリック。
設定を変更せずにインストール作業を進めていき、下記の「ワークロード」の画面が表示されたら「ユニバーサル Windows プラットフォーム開発」にチェックを入れます。
「個別のコンポーネント」をクリックしてタブを切り替え、検索窓に「cmake」と入力すると出てくる「Windows 用 C++ CMake ツール」にチェックを入れます。右下の「インストール」をクリック。
インストール完了後、再起動を求められるのでPCを再起動しておきます。
最後にMinGWをインストールします。SourceForgeのMinGWのページへアクセスし、「Download」をクリック。
インストーラーを起動して「Install」をクリック。
「MinGW Installation Manager」がインストールされて起動します。「Basic Setup」が選択されているはずなので、そのまま右の画面で「mingw32-gcc-g++」のチェックボックスをクリックし、「Mark for Installation」をクリック。
チェックボックスに矢印マークが付いたのを確認して「Installation」メニューの「Apply Changes」をクリック。
確認画面が表示されるので「Apply」をクリックします。
「All changes were applied successfully」と表示されたらインストール完了です。「Close」をクリックして画面を閉じます。
これで環境構築は完了です。Gitのインストール時に「Git Bash」が同時にインストールされているので、スタートメニューから起動します。
Git Bashに下記のコマンドを入力してprivateGPTをダウンロード。
git clone https://github.com/imartinez/privateGPT.git
cd privateGPT
また、下記のコマンドで必要なライブラリをダウンロードしておきます。
pip install -r requirements.txt
続いて言語モデルを用意します。GPT4All-Jと互換性のあるモデルならなんでもOKとのことですが、今回はガイド通り「ggml-gpt4all-j-v1.3-groovy.bin」をダウンロード。
下記のコマンドを入力し、エクスプローラーでprivateGPTのフォルダを開きます。
explorer .
「privateGPT」フォルダの中に新しくフォルダを作成して名前を「models」に変更し、ダウンロードしたモデルをmodelsフォルダの中に移動します。
さらに「example.env」の名前を「.env」に変更。
「.env」ファイルの中身はこんな感じ。別のモデルを利用する場合やトークンの上限を変更する場合はこの「.env」ファイルの記述を変更する必要があります。今回は特に変更しないのでそのままでOK。
また、チャットAIに読ませたいドキュメントを「source_documents」の中に保存しておきます。最初から入っている「state_of_the_union.txt」はバイデン大統領の一般教書演説です。
追加で日本国憲法を保存してみました。
下記のコマンドでAIにドキュメントを読ませることが可能です。
python ingest.py
しばらくすると「Ingestion complete!」と表示されました。ようやく全ての準備が完了したわけです。
チャットAIの起動には下記のコマンドを利用します。
python privateGPT.py
初回のみ、必要なファイルのダウンロードが行われます。このダウンロードが終わればインターネット接続を切ってOK。
最初はシンプルに「Hello! Who are you?」と質問してみました。10分程度かけて答えが生成され、Answerの部分にそこそこいい感じの回答が返ってきています。ただし、埋め込みの影響が強すぎるためか、Answerの後ろに関係ない一般教書演説の中身が情報元としてくっついていました。
答えを生成している間のリソースの消費はこんな感じ。i7-6800KのCPUを30~40%利用し、メモリを8GB~10GB程度使用する模様です。GPUの使用率は0%のままでした。
一般教書演説の中身に沿った質問をしてみるとこんな感じ。
今度は情報元の方もちゃんと内容に沿った部分が表示されました。
日本語が利用できるかについても試してみましたが、残念ながらエラーになってしまいました。
この記事のタイトルとURLをコピーする