File size: 3,704 Bytes
5e00169
3cb2c3b
 
 
 
5e00169
3cb2c3b
5e00169
 
 
 
3cb2c3b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
---
title: Mini-VLM Dataset Builder
emoji: 🎯
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.19.2
app_file: app.py
pinned: false
---

# Mini-VLM Dataset Builder

Cette application permet de créer facilement des datasets de questions/réponses pour l'entraînement de modèles Vision-Langage (VLM).

## ⚠️ Important : Clés API requises

Pour utiliser cette application, vous devez avoir :
1. Une clé API Google Gemini (obtenir [ici](https://makersuite.google.com/app/apikey))
2. Un token Hugging Face avec permissions d'écriture (obtenir [ici](https://huggingface.co/settings/tokens))

Ces clés sont à entrer directement dans l'interface de l'application. Elles ne sont jamais stockées et sont uniquement utilisées pour vos propres requêtes.

## Fonctionnalités

- 📸 Upload multiple d'images et de PDFs
- 🤖 Analyse automatique avec Gemini
- ❓ Génération de questions/réponses
- 📁 Dataset structuré (train/validation/test)
- ⬆️ Upload sur votre compte Hugging Face

## Utilisation

1. Entrez votre clé API Google Gemini dans le champ dédié
2. Entrez votre token Hugging Face dans le champ dédié
3. Spécifiez le nom de votre dataset (format: votre-username/nom-du-dataset)
4. Uploadez vos documents (PDF, PNG, JPG, JPEG)
5. Cliquez sur "Créer le dataset"

## Structure du dataset généré

Le dataset sera créé sur votre compte Hugging Face avec la structure suivante :

```
votre-username/nom-du-dataset/
├── train/
│   ├── images/
│   └── metadata.jsonl
├── validation/
│   ├── images/
│   └── metadata.jsonl
└── test/
    ├── images/
    └── metadata.jsonl
```

## Sécurité

- Les clés API sont utilisées uniquement pendant votre session
- Aucune clé n'est stockée sur le serveur
- Les données sont transmises de manière sécurisée
- Chaque utilisateur utilise ses propres identifiants

## Licence

Apache License 2.0

## 🎨 Interface utilisateur moderne et intuitive

## 📊 Barre de progression en temps réel

## 📦 Installation

1. Clonez le repository :
```bash
git clone https://huggingface.co/spaces/Marsouuu/mini-vlm-dataset-builder
cd mini-vlm-dataset-builder
```

2. Installez les dépendances :
```bash
pip install -r requirements.txt
```

## 🚀 Utilisation

1. Lancez l'application :
```bash
python app.py
```

2. Accédez à l'interface web dans votre navigateur (généralement à l'adresse `http://localhost:7860`)

3. Dans l'interface :
   - Entrez votre clé API Google Gemini
   - Entrez votre token Hugging Face
   - Choisissez un nom pour votre dataset
   - Téléchargez vos images de documents
   - Cliquez sur "Créer le dataset"

## 📁 Structure du dataset

Le dataset créé aura la structure suivante :

```
dataset_name/
├── train/
│   ├── images/
│   │   └── kid-page-{n}.png
│   └── metadata.jsonl
├── validation/
│   ├── images/
│   │   └── kid-page-{n}.png
│   └── metadata.jsonl
└── test/
    ├── images/
    │   └── kid-page-{n}.png
    └── metadata.jsonl
```

Chaque fichier `metadata.jsonl` contient des entrées au format :
```json
{
    "image": "images/kid-page-{n}.png",
    "query": "Question générée",
    "answer": "Réponse générée",
    "langue": "fr",
    "page": 1,
    "file_name": "images/kid-page-{n}.png"
}
```

## 🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à :
- Ouvrir une issue pour signaler un bug
- Proposer une amélioration via une pull request
- Partager vos idées d'amélioration

## 📝 Licence

Ce projet est sous licence MIT. Voir le fichier `LICENSE` pour plus de détails.