Application web complète pour générer automatiquement des captions pour vos datasets d'images destinés à l'entraînement de LoRA (Flux/Qwen).
- Import d'images : Drag & drop ou sélection de fichiers PNG/JPG
- Génération automatique : Captions générées via LLM Studio (Gemma/LLaVA/Ministral)
- 3 types de datasets :
- Style : Description artistique, couleurs, éclairage, ambiance
- Object : Description d'objets, matériaux, contexte
- Character : Description de personnages, vêtements, poses
- Édition manuelle : Modification inline de chaque caption
- Export ZIP : Téléchargement automatique de tous les fichiers .txt
- Node.js : Version 18 ou supérieure
- LLM Studio : Serveur local tournant sur
http://localhost:1234- Modèle vision requis (Gemma, LLaVA, ou Ministral)
- API compatible OpenAI activée
- Cloner ou télécharger le projet
cd Dataset_lora- Installer les dépendances
Option 1 : Installation automatique (recommandée)
npm install
npm run setupOption 2 : Installation manuelle
# Installer concurrently pour le script dev
npm install
# Installer dépendances backend
cd server
npm install
cd ..
# Installer dépendances frontend
cd client
npm install
cd ..Double-cliquez sur start.bat dans le dossier du projet.
Ce script :
- Vérifie que Node.js est installé
- Installe automatiquement les dépendances si manquantes
- Lance le backend et le frontend
npm run devCette commande lance :
- Backend sur
http://localhost:3001 - Frontend sur
http://localhost:5173
Ouvrez votre navigateur à l'adresse : http://localhost:5173
npm run servernpm run client-
Vérifier la connexion LLM Studio
- Le panneau de configuration affiche le statut de connexion
- Assurez-vous que LLM Studio tourne sur localhost:1234
-
Configurer les paramètres
- Trigger Word : Mot qui débutera chaque caption (ex: "fluxArt", "myStyle")
- Type de Dataset : Choisir entre Style, Object ou Character
-
Importer des images
- Glissez-déposez vos images PNG/JPG
- Ou cliquez sur la zone pour sélectionner des fichiers
- Maximum 10MB par image
-
Générer les captions
- Cliquez sur "Générer toutes les captions"
- Le traitement est séquentiel (une image à la fois)
- La barre de progression affiche l'avancement
-
Éditer les captions (optionnel)
- Cliquez dans le champ texte sous chaque image
- Modifiez la caption à votre convenance
- Les changements sont sauvegardés automatiquement
-
Exporter le dataset
- Cliquez sur "Exporter X caption(s)"
- Un fichier ZIP sera téléchargé automatiquement
- Contient un fichier .txt par image avec le même nom
dataset_2024-01-15T14-30-00.zip
├── image001.txt (contient: "fluxArt: a vibrant digital art...")
├── image002.txt (contient: "fluxArt: an oil painting of...")
└── image003.txt (contient: "fluxArt: a photorealistic render...")
Chaque fichier .txt :
- Porte le même nom que l'image correspondante
- Est encodé en UTF-8
- Contient uniquement la caption (max ~100 mots)
- Commence par le trigger word configuré
Assurez-vous que votre LLM Studio est configuré ainsi :
- API activée sur le port 1234
- Modèle vision chargé (Gemma, LLaVA, ou Ministral)
- Endpoint :
http://localhost:1234/v1/chat/completions
Exemple de configuration LLM Studio :
{
"model": "llava-v1.6-mistral-7b",
"host": "0.0.0.0",
"port": 1234,
"api_type": "openai"
}- Timeout : Le système réessaye automatiquement 1 fois
- LLM Studio déconnecté : Vérifiez que le serveur tourne
- Format d'image invalide : Seuls PNG et JPG sont acceptés
- Fichier trop volumineux : Maximum 10MB par image
- Batch optimal : 30-50 images par session
- Temps de génération : ~5-15 secondes par image selon le modèle
- Trigger word : Utilisez un mot unique et descriptif (ex: "fluxArt", "myStyle2024")
- Type de dataset : Choisissez selon votre cas d'usage :
- Style : Pour capturer l'esthétique artistique
- Object : Pour des objets ou scènes spécifiques
- Character : Pour des personnages ou portraits
- Port : 3001
- API REST pour génération de captions
- Interface avec LLM Studio via axios
- Génération de ZIP avec archiver
- Port : 5173
- Interface inspirée de Gradio (dark theme)
- Gestion d'état avec hooks React
- Upload/traitement côté client (pas d'upload serveur)
# Vérifier que LLM Studio tourne
curl http://localhost:1234/v1/models# Réinstaller les dépendances
rm -rf node_modules server/node_modules client/node_modules
npm install# Modifier le port dans server/index.js ou client/vite.config.jsMIT
Pour toute question ou problème, créez une issue sur le dépôt GitHub.