Utiliser Milvus dans PrivateGPT
PrivateGPT est un projet d'IA prêt à la production qui permet aux utilisateurs de poser des questions sur leurs documents à l'aide de grands modèles de langage sans connexion Internet tout en garantissant la confidentialité à 100 %. PrivateGPT offre une API divisée en blocs de haut niveau et de bas niveau. Il fournit également un client Gradio UI et des outils utiles tels que des scripts de téléchargement de modèles en vrac et des scripts d'ingestion. Conceptuellement, PrivateGPT enveloppe un pipeline RAG et expose ses primitives, étant prêt à l'emploi et fournissant une implémentation complète de l'API et du pipeline RAG.
Dans ce tutoriel, nous allons vous montrer comment utiliser Milvus comme base de données vectorielles pour PrivateGPT.
Ce tutoriel se réfère principalement au guide d'installation officiel de PrivateGPT. Si vous trouvez que ce tutoriel contient des parties obsolètes, vous pouvez suivre en priorité le guide officiel et créer un problème avec nous.
Exigences de base pour faire fonctionner PrivateGPT
1. Cloner le dépôt PrivateGPT
Clonez le dépôt et naviguez jusqu'à lui :
$ git clone https://github.com/zylon-ai/private-gpt
$ cd private-gpt
2. Installer Poetry
Installez Poetry pour la gestion des dépendances : Suivez les instructions sur le site officiel de Poetry pour l'installer.
3) (Facultatif) Installer make
Pour exécuter divers scripts, vous devez installer make.
macOS (en utilisant Homebrew) :
$ brew install make
Windows (utilisation de Chocolatey) :
$ choco install make
Installer les modules disponibles
PrivateGPT permet de personnaliser la configuration de certains modules tels que LLM, Embeddings, Vector Stores, UI.
Dans ce tutoriel, nous utiliserons les modules suivants :
- LLM: Ollama
- Embeddings: Ollama
- Vector Stores: Milvus
- UI: Gradio
Exécutez la commande suivante pour utiliser la poésie afin d'installer les dépendances des modules requis :
$ poetry install --extras "llms-ollama embeddings-ollama vector-stores-milvus ui"
Démarrer le service Ollama
Allez sur ollama.ai et suivez les instructions pour installer Ollama sur votre machine.
Après l'installation, assurez-vous que l'application Ollama est fermée.
Maintenant, démarrez le service Ollama (il démarrera un serveur d'inférence local, servant à la fois le LLM et les Embeddings) :
$ ollama serve
Installer les modèles à utiliser, le modèle par défaut settings-ollama.yaml
est configuré pour l'utilisateur llama3.1
8b LLM (~4GB) et nomic-embed-text
Embeddings (~275MB).
Par défaut, PrivateGPT récupère automatiquement les modèles en fonction des besoins. Ce comportement peut être changé en modifiant la propriété ollama.autopull_models
.
Dans tous les cas, si vous souhaitez extraire manuellement des modèles, exécutez les commandes suivantes :
$ ollama pull llama3.1
$ ollama pull nomic-embed-text
Vous pouvez éventuellement changer vos modèles préférés dans le fichier settings-ollama.yaml
et les extraire manuellement.
Modifier les paramètres de Milvus
Dans le fichier settings-ollama.yaml
, définissez le vectorstore à milvus :
vectorstore:
database: milvus
Vous pouvez également ajouter une configuration cumstom Milvus pour spécifier vos paramètres, comme ceci :
milvus:
uri: http://localhost:19530
collection_name: my_collection
Les options de configuration disponibles sont les suivantes :
Champ Option | Description |
---|---|
uri | La valeur par défaut est "local_data/private_gpt/milvus/milvus_local.db" en tant que fichier local ; vous pouvez également configurer un serveur Milvus plus performant sur docker ou k8s, par exemple http://localhost:19530, en tant qu'uri ; pour utiliser Zilliz Cloud, adaptez l'uri et le token au Public Endpoint et à la clé API dans Zilliz Cloud. |
jeton | Paire avec le serveur Milvus sur docker ou k8s ou la clé d'API de Zilliz Cloud. |
nom_de_la_collection | Le nom de la collection, défini par défaut sur "milvus_db". |
overwrite | Ecraser les données de la collection si elles existent, défini par défaut comme True. |
Démarrer PrivateGPT
Une fois tous les réglages effectués, vous pouvez lancer PrivateGPT avec une interface utilisateur Gradio.
PGPT_PROFILES=ollama make run
L'interface utilisateur sera disponible à l'adresse http://0.0.0.0:8001
.
Vous pouvez jouer avec l'interface et poser des questions sur vos documents.
Pour plus de détails, veuillez vous référer à la documentation officielle de PrivateGPT.