PrivateGPTでMilvusを使う
PrivateGPTは、インターネットに接続することなく、100%のプライバシーを確保しながら、ユーザーが大規模言語モデルを使用して文書に関する質問をすることを可能にする、量産可能なAIプロジェクトです。PrivateGPTは高レベルと低レベルのブロックに分かれたAPIを提供します。また、Gradio UIクライアントや、モデルの一括ダウンロードスクリプトやインジェストスクリプトのような便利なツールも提供します。概念的には、PrivateGPTはRAGパイプラインをラップし、そのプリミティブを公開することで、すぐに使用でき、APIとRAGパイプラインの完全な実装を提供します。
このチュートリアルでは、PrivateGPTのバックエンドベクターデータベースとしてMilvusを使用する方法を紹介します。
このチュートリアルは主にPrivateGPT公式インストールガイドを参照しています。もしこのチュートリアルに古い部分があるようでしたら、公式ガイドに従うことを優先し、私たちにissueを作成してください。
PrivateGPTを実行するための基本要件
1.PrivateGPTリポジトリのクローン
リポジトリをクローンし、そこに移動します:
$ git clone https://github.com/zylon-ai/private-gpt
$ cd private-gpt
2.Poetryのインストール
依存関係管理のためにPoetryをインストールします:Poetry公式サイトの指示に従ってインストールする。
3.オプション)makeをインストールする
様々なスクリプトを実行するために、makeをインストールする必要がある。
macOS(Homebrewを使用):
$ brew install make
Windows(Chocolateyを使用):
$ choco install make
利用可能なモジュールのインストール
PrivateGPTでは、LLM、Embeddings、Vector Stores、UIなど、いくつかのモジュールのセットアップをカスタマイズすることができます。
このチュートリアルでは、以下のモジュールを使用します:
- LLM: Ollama
- エンベッディングOllama
- ベクトル・ストアMilvus
- UI:Gradio
必要なモジュールの依存関係をインストールするために詩を使用するには、次のコマンドを実行します:
$ poetry install --extras "llms-ollama embeddings-ollama vector-stores-milvus ui"
Ollamaサービスを開始
ollama.aiにアクセスし、指示に従ってあなたのマシンにOllamaをインストールしてください。
インストールが終わったら、Ollamaデスクトップアプリが終了していることを確認してください。
Ollamaサービスを起動します(ローカル推論サーバーが起動し、LLMとEmbeddingsの両方に対応します):
$ ollama serve
使用するモデルをインストールします。デフォルトのsettings-ollama.yaml
はユーザーllama3.1
8b LLM (~4GB) とnomic-embed-text
Embeddings (~275MB) に設定されています。
デフォルトでは、PrivateGPTは必要に応じて自動的にモデルをプルします。この動作は、ollama.autopull_models
プロパティを変更することで変更できます。
いずれにせよ、手動でモデルをプルしたい場合は、以下のコマンドを実行してください:
$ ollama pull llama3.1
$ ollama pull nomic-embed-text
オプションで、settings-ollama.yaml
ファイルにあるお気に入りのモデルに変更し、手動でプルすることもできます。
Milvus設定の変更
ファイルsettings-ollama.yaml
、vectorstoreをmilvusに設定します:
vectorstore:
database: milvus
このように、milvusの設定を追加することもできます:
milvus:
uri: http://localhost:19530
collection_name: my_collection
利用可能な設定オプションは以下の通りです:
フィールド オプション | 説明 |
---|---|
uri | デフォルトではローカルファイルとして "local_data/private_gpt/milvus/milvus_local.db "が設定されています。dockerやk8s上のよりパフォーマンスの高いMilvusサーバ(例:http://localhost:19530)をuriとして設定することもできます。Zilliz Cloudを利用する場合は、uriとtokenをZilliz CloudのPublic EndpointとAPI keyに合わせます。 |
トークン | dockerやk8s上のMilvusサーバー、またはZilliz CloudのAPIキーとペア。 |
コレクション名 | コレクション名。デフォルトは "milvus_db"。 |
上書き | コレクション内のデータが存在する場合、上書きする。 |
PrivateGPTの開始
すべての設定が完了したら、Gradio UIでPrivateGPTを実行できます。
PGPT_PROFILES=ollama make run
UIはhttp://0.0.0.0:8001
。
UIで遊んだり、文書について質問したりすることができる。
詳細はPrivateGPTの公式ドキュメントを参照してください。