はじめに
PrivateGPTは、本番環境で利用可能なAIプロジェクトで、インターネットに接続することなく、Large Language Models (LLMs)を使って文書をクイズすることができます。このプロジェクトは、100%のデータプライバシーを保証し、全てのデータは、ユーザーの実行環境において、開示されることなく処理されます。PrivateGPTは、Zylonチームによって開発され、プライベートでコンテキストを意識したAIアプリケーションの構築をサポートするAPIを提供します。PrivateGPTは、ヘルスケアや法律など、高度なデータプライバシーを必要とする領域に適しています。
同様のプロジェクトKotaemon: 簡単に導入できるオープンソースのマルチモーダル文書クイズツール
機能一覧
- ドキュメントの取り込み:ドキュメントの解析、分割、メタデータの抽出、埋め込み生成、保存を管理します。
- チャット&フィニッシュ:インジェストされたドキュメントのコンテキストを使用した会話とタスクの完了。
- 埋め込み生成:テキストに基づいて埋め込みを生成する。
- コンテキストブロック検索:クエリの返り値に基づいて、文書内の最も関連性の高いテキストブロックを取り込む。
- Gradio UI Client: APIをテストするための動作するクライアントを提供します。
- バッチモデルダウンロードスクリプト、取り込みスクリプト、ドキュメントフォルダ監視などのツール。
ヘルプの使用
設置プロセス
- クローン倉庫まず、PrivateGPTのGitHubリポジトリをクローンする。
git clone https://github.com/zylon-ai/private-gpt.git
cd private-gpt
- 依存関係のインストール使用
ピップ
必要なPythonの依存関係をインストールします。
pip install -r requirements.txt
- 設定環境必要に応じて環境変数やセットアップファイルを設定する。
cp settings-example.yaml settings.yaml
# settings.yamlファイルを編集して、関連するパラメータを設定します。
- サービス開始Dockerを使ってサービスを開始する。
docker-compose up -d
ドキュメントQ&A機能を使う
- 文書摂取処理する文書を指定したフォルダに入れ、取り込みスクリプトを実行します。
python scripts/ingest.py --入力フォルダ path/to/documents
- Q&A インタラクションQ&A には Gradio UI クライアントを使用します。
python app.py
# ブラウザで http://localhost:7860 を開いてください。
ハイレベルAPIの使用法
- ドキュメントの解析と埋め込み生成高水準APIを使った文書解析と埋め込み生成。
from private_gpt import HighLevelAPI
api = HighLevelAPI()
api.ingest_documents("path/to/documents")
- コンテキスト検索と回答生成高レベルAPIを使用したコンテキスト検索と回答生成。
response = api.chat("あなたの質問")
print(response)
低レベルAPIの使用法
- エンベディング・ジェネレーション低レベルAPIを使用してテキスト埋め込みを生成します。
from private_gpt import LowLevelAPI
api = LowLevelAPI()
埋め込み = api.generate_embedding("あなたのテキスト")
- コンテキストブロック検索低レベルAPIを使用したコンテキストブロック検索。
chunks = api.retrieve_chunks("あなたのクエリー")
print(chunks)
ツールセットの使い方
- バッチモデルダウンロード一括モデルダウンロードスクリプトを使用して、必要なモデルをダウンロードします。
python scripts/download_models.py
- ドキュメントフォルダの監視ドキュメントフォルダモニタツールを使用して、新しいドキュメントを自動的に取り込みます。
python scripts/watch_folder.py --folder path/to/documents