在 PrivateGPT 中使用 Milvus
PrivateGPT是一個生產就緒的 AI 專案,可讓使用者在沒有網際網路連線的情況下,使用大型語言模型針對他們的文件提出問題,同時確保 100% 的隱私。PrivateGPT 提供的 API 分為高階與低階區塊。它也提供 Gradio UI 用戶端和有用的工具,例如大量模型下載腳本和攝取腳本。從概念上來看,PrivateGPT 包覆了 RAG 管道並公開其基元,可立即使用並提供 API 和 RAG 管道的完整實作。
在本教程中,我們將教您如何使用 Milvus 作為 PrivateGPT 的後端向量資料庫。
本教學主要參考PrivateGPT官方安裝指南。如果您發現本教學有過時的部分,您可以優先按照官方指南,並向我們提出問題。
執行 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 安裝所需的模組相依性:
$ 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
您也可以加入一些 cumstom 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 key 配對。 |
集合名稱 | collection 的名稱,設定為預設的 "milvus_db"。 |
覆寫 | 覆寫資料集中已存在的資料,預設為 True。 |
啟動 PrivateGPT
完成所有設定後,您就可以使用 Gradio UI 執行 PrivateGPT。
PGPT_PROFILES=ollama make run
UI 的網址是http://0.0.0.0:8001
。
您可以玩弄 UI 並詢問關於您的文件的問題。
如需更多詳細資訊,請參閱PrivateGPT官方說明文件。