Utilizzare Milvus in PrivateGPT
PrivateGPT è un progetto di intelligenza artificiale pronto per la produzione che consente agli utenti di porre domande sui loro documenti utilizzando modelli linguistici di grandi dimensioni senza una connessione a Internet e garantendo il 100% di privacy. PrivateGPT offre un'API suddivisa in blocchi di alto livello e di basso livello. Fornisce inoltre un client UI Gradio e strumenti utili come gli script per il download massivo dei modelli e gli script di ingestione. Concettualmente, PrivateGPT avvolge una pipeline RAG ed espone le sue primitive, essendo pronto all'uso e fornendo un'implementazione completa dell'API e della pipeline RAG.
In questo tutorial vi mostreremo come utilizzare Milvus come database vettoriale di backend per PrivateGPT.
Questo tutorial fa principalmente riferimento alla guida ufficiale all'installazione di PrivateGPT. Se vi accorgete che questo tutorial ha parti obsolete, potete seguire prioritariamente la guida ufficiale e creare un problema con noi.
Requisiti di base per l'esecuzione di PrivateGPT
1. Clonare il repository PrivateGPT
Clonate il repository e navigate al suo interno:
$ git clone https://github.com/zylon-ai/private-gpt
$ cd private-gpt
2. Installare Poetry
Installare Poetry per la gestione delle dipendenze: Seguire le istruzioni sul sito ufficiale di Poetry per installarlo.
3. (Opzionale) Installare make
Per eseguire vari script, è necessario installare make.
macOS (usando Homebrew):
$ brew install make
Windows (usando Chocolatey):
$ choco install make
Installare i moduli disponibili
PrivateGPT consente di personalizzare la configurazione di alcuni moduli, come LLM, Embeddings, Vector Stores, UI.
In questo tutorial utilizzeremo i seguenti moduli:
- LLM: Ollama
- Embeddings: Ollama
- Archivi vettoriali: Milvus
- UI: Gradio
Eseguire il seguente comando per utilizzare la poesia per installare le dipendenze del modulo richiesto:
$ poetry install --extras "llms-ollama embeddings-ollama vector-stores-milvus ui"
Avviare il servizio Ollama
Andare su ollama.ai e seguire le istruzioni per installare Ollama sul proprio computer.
Dopo l'installazione, assicurarsi che l'applicazione desktop Ollama sia chiusa.
A questo punto, avviare il servizio Ollama (avvierà un server di inferenza locale, che servirà sia l'LLM che gli Embeddings):
$ ollama serve
Installare i modelli da utilizzare; settings-ollama.yaml
è configurato per l'utente llama3.1
8b LLM (~4GB) e nomic-embed-text
Embeddings (~275MB).
Per impostazione predefinita, PrivateGPT preleva automaticamente i modelli quando necessario. Questo comportamento può essere cambiato modificando la proprietà ollama.autopull_models
.
In ogni caso, se si desidera prelevare manualmente i modelli, eseguire i seguenti comandi:
$ ollama pull llama3.1
$ ollama pull nomic-embed-text
È possibile modificare i modelli preferiti nel file settings-ollama.yaml
ed estrarli manualmente.
Modifica delle impostazioni di Milvus
Nel file settings-ollama.yaml
, impostare il vectorstore su milvus:
vectorstore:
database: milvus
È anche possibile aggiungere una configurazione cumstom di Milvus per specificare le proprie impostazioni, ad esempio:
milvus:
uri: http://localhost:19530
collection_name: my_collection
Le opzioni di configurazione disponibili sono:
Campo Opzione | Descrizione |
---|---|
uri | L'impostazione predefinita è "local_data/private_gpt/milvus/milvus_local.db" come file locale; è anche possibile impostare un server Milvus più performante su docker o k8s, ad esempio http://localhost:19530, come uri; per utilizzare Zilliz Cloud, adattare l'uri e il token a Public Endpoint e API key in Zilliz Cloud. |
token | Coppia con il server Milvus su docker o k8s o con la chiave API di Zilliz Cloud. |
nome_raccolta | Il nome della raccolta, impostato come predefinito "milvus_db". |
sovrascrivere | Sovrascrive i dati della raccolta, se già esistenti; l'impostazione predefinita è True. |
Avviare PrivateGPT
Una volta effettuate tutte le impostazioni, è possibile avviare PrivateGPT con l'interfaccia utente di Gradio.
PGPT_PROFILES=ollama make run
L'interfaccia utente sarà disponibile all'indirizzo http://0.0.0.0:8001
.
È possibile giocare con l'interfaccia utente e porre domande sui propri documenti.
Per ulteriori dettagli, consultare la documentazione ufficiale di PrivateGPT.