Code/IA/02 - injection_fiches
2025-05-28 14:36:30 +02:00
..
2025-05-20 16:52:46 +02:00
2025-05-20 16:52:46 +02:00
2025-05-20 16:52:46 +02:00
2025-05-20 16:52:46 +02:00
2025-05-20 16:52:46 +02:00

Script d'Injection Automatique pour PrivateGPT

Ce script permet d'automatiser l'injection de documents dans PrivateGPT à partir d'un répertoire local. Au lieu d'utiliser l'interface utilisateur pour télécharger les fichiers un par un, vous pouvez injecter un dossier entier en une seule commande.

Prérequis

  • Python 3.7 ou supérieur
  • PrivateGPT installé et fonctionnel sous Docker
  • Accès à l'API REST de PrivateGPT (port 8001 par défaut)

Installation

  1. Clonez ce dépôt ou téléchargez les fichiers dans un dossier

  2. Installez les dépendances nécessaires :

pip install requests

Utilisation

Le script s'utilise en ligne de commande avec différentes options :

python auto_ingest.py -d REPERTOIRE [-u URL] [-r] [-t THREADS] [--retry RETRY] [--retry-delay RETRY_DELAY] [--timeout TIMEOUT] [--extensions EXT1 EXT2 ...]

Options

  • -d, --directory : Chemin du répertoire contenant les fichiers à injecter (obligatoire)
  • -u, --url : URL de l'API PrivateGPT (défaut: http://localhost:8001)
  • -r, --recursive : Parcourir récursivement les sous-répertoires
  • -t, --threads : Nombre de threads pour les injections parallèles (défaut: 5)
  • --retry : Nombre de tentatives en cas d'échec (défaut: 3)
  • --retry-delay : Délai entre les tentatives en secondes (défaut: 5)
  • --timeout : Délai d'attente pour chaque requête en secondes (défaut: 300)
  • --extensions : Liste d'extensions spécifiques à injecter (ex: pdf txt)

Exemples d'utilisation

Injection simple d'un répertoire

python auto_ingest.py -d /chemin/vers/documents

Injection récursive avec extensions spécifiques

python auto_ingest.py -d /chemin/vers/documents -r --extensions pdf docx txt

Injection avec paramètres avancés

python auto_ingest.py -d /chemin/vers/documents -r -t 10 --timeout 600 --retry 5

Formats de fichiers supportés

Par défaut, le script reconnaît et traite les formats suivants :

  • PDF (.pdf)
  • Documents texte (.txt, .md)
  • Documents Microsoft Office (.doc, .docx, .ppt, .pptx, .xls, .xlsx)
  • CSV (.csv)
  • EPUB (.epub)
  • HTML (.html, .htm)

Résolution des problèmes

Erreur de connexion

Si vous obtenez des erreurs de connexion, vérifiez que :

  1. PrivateGPT est bien en cours d'exécution
  2. L'URL est correcte (par défaut: http://localhost:8001)
  3. Le port 8001 est accessible et n'est pas bloqué par un pare-feu

Erreurs d'injection

  • Si un fichier spécifique ne peut pas être injecté, vérifiez qu'il est d'un format supporté par PrivateGPT
  • Pour les fichiers volumineux, vous pouvez augmenter la valeur de --timeout
  • En cas d'erreurs répétées, augmentez les valeurs de --retry et --retry-delay

Logs

Le script génère des logs dans :

  • La console (stdout)
  • Un fichier pgpt_auto_ingest.log dans le répertoire courant

Ces logs contiennent des informations détaillées sur le processus d'injection.