@mcptoolshop/style-dataset-lab 2.2.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.es.md +76 -144
- package/README.fr.md +75 -143
- package/README.hi.md +75 -143
- package/README.it.md +76 -144
- package/README.ja.md +75 -143
- package/README.pt-BR.md +75 -143
- package/README.zh.md +76 -144
- package/SECURITY.md +3 -1
- package/bin/sdlab.js +21 -21
- package/lib/errors.js +82 -0
- package/lib/log.js +36 -0
- package/lib/snapshot.js +5 -2
- package/lib/split.js +5 -2
- package/package.json +3 -4
- package/scripts/snapshot.js +27 -23
- package/scripts/split.js +3 -1
package/README.es.md
CHANGED
|
@@ -11,196 +11,128 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Escriba sus reglas visuales. Genere arte. Evalúe cada imagen según esas reglas. Entregue los resultados como datos de entrenamiento versionados y auditables.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Style Dataset Lab conecta lo que ha escrito sobre su estilo artístico con el conjunto de datos con el que realmente entrena. Usted define una constitución: reglas de silueta, restricciones de paleta, lenguaje de materiales, cualquier cosa que sea importante para su proyecto. El proceso genera candidatos, los evalúa según esas reglas y empaqueta el trabajo aprobado en conjuntos de datos reproducibles donde cada registro explica por qué se incluyó.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
El ciclo se cierra: entrena un modelo, genera nuevas salidas, evalúalas según el mismo criterio y vuelve a incluir lo que cumple los requisitos. El conjunto de datos crece y las reglas se mantienen.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
La línea de producción genera cuatro elementos:
|
|
23
|
-
|
|
24
|
-
| Elemento | ¿Qué es? |
|
|
25
|
-
|----------|-----------|
|
|
26
|
-
| **Snapshot** | Selección de registros elegibles, congelada y con huella digital. Cada inclusión tiene un registro explícito de la razón. |
|
|
27
|
-
| **Split** | Partición segura contra fugas de información para entrenamiento/validación/prueba. Los registros que comparten una misma familia siempre se incluyen en la misma división. |
|
|
28
|
-
| **Export package** | Conjunto de datos autónomo: manifiesto, metadatos, imágenes, divisiones, descripción del conjunto de datos y sumas de verificación. |
|
|
29
|
-
| **Eval pack** | Tareas de verificación que respetan el canon: cobertura de categorías, desviación prohibida, referencia/estándar, coherencia temática. |
|
|
30
|
-
|
|
31
|
-
Cada elemento en la línea de producción contiene tres cosas:
|
|
32
|
-
|
|
33
|
-
1. **Origen** -- historial completo de generación (punto de control, LoRA, semilla, muestreador, configuración, tiempo de ejecución)
|
|
34
|
-
2. **Cumplimiento del canon** -- qué reglas establecidas cumple, no cumple o cumple parcialmente este elemento.
|
|
35
|
-
3. **Evaluación de calidad** -- aprobado/rechazado/límite con puntuaciones por dimensión.
|
|
36
|
-
|
|
37
|
-
Funciona para arte de juegos, diseño de personajes, diseño de criaturas, arquitectura, conceptos de vehículos/mecánica y cualquier dominio donde la producción visual deba mantenerse dentro de los parámetros establecidos.
|
|
38
|
-
|
|
39
|
-
## Comienzo rápido
|
|
20
|
+
## El proceso
|
|
40
21
|
|
|
41
22
|
```bash
|
|
42
|
-
#
|
|
43
|
-
npm install -g @mcptoolshop/style-dataset-lab
|
|
44
|
-
|
|
45
|
-
# Scaffold a new project
|
|
23
|
+
# Write your canon. Scaffold the project.
|
|
46
24
|
sdlab init my-project --domain character-design
|
|
47
25
|
|
|
48
|
-
#
|
|
49
|
-
sdlab
|
|
50
|
-
|
|
26
|
+
# Generate candidates via ComfyUI, then review them
|
|
27
|
+
sdlab generate inputs/prompts/wave1.json --project my-project
|
|
28
|
+
sdlab curate <id> approved "Strong silhouette, correct faction palette"
|
|
51
29
|
|
|
52
|
-
|
|
30
|
+
# Bind approved work to constitution rules
|
|
31
|
+
sdlab bind --project my-project
|
|
53
32
|
|
|
54
|
-
|
|
33
|
+
# Freeze a versioned dataset
|
|
34
|
+
sdlab snapshot create --project my-project
|
|
35
|
+
sdlab split build
|
|
36
|
+
sdlab export build
|
|
55
37
|
|
|
56
|
-
|
|
57
|
-
sdlab
|
|
58
|
-
sdlab
|
|
59
|
-
|
|
60
|
-
sdlab
|
|
61
|
-
sdlab generate:identity <packet> # Named-subject identity images
|
|
62
|
-
sdlab generate:controlnet # ControlNet-guided generation
|
|
63
|
-
sdlab generate:ipadapter # IP-Adapter reference-guided
|
|
64
|
-
|
|
65
|
-
sdlab curate <id> <status> <explanation> # Record review judgment
|
|
66
|
-
sdlab compare <a> <b> <winner> <reason> # Pairwise A-vs-B comparison
|
|
67
|
-
sdlab bind [--project <name>] # Bind records to constitution rules
|
|
68
|
-
sdlab painterly [--project <name>] # Post-processing style pass
|
|
69
|
-
|
|
70
|
-
sdlab snapshot create [--profile <name>] # Create frozen dataset snapshot
|
|
71
|
-
sdlab snapshot list # List all snapshots
|
|
72
|
-
sdlab snapshot diff <a> <b> # Compare two snapshots
|
|
73
|
-
sdlab eligibility audit # Audit record training eligibility
|
|
74
|
-
sdlab split build [--snapshot <id>] # Build train/val/test split
|
|
75
|
-
sdlab split audit <id> # Audit split for leakage + balance
|
|
76
|
-
sdlab card generate # Generate dataset card (md + JSON)
|
|
77
|
-
sdlab export build [--snapshot <id>] # Build versioned export package
|
|
78
|
-
sdlab eval-pack build # Build canon-aware eval pack
|
|
38
|
+
# Build a training package and close the loop
|
|
39
|
+
sdlab training-manifest create --profile character-style-lora
|
|
40
|
+
sdlab training-package build
|
|
41
|
+
sdlab eval-run create && sdlab eval-run score <id> --outputs results.jsonl
|
|
42
|
+
sdlab reingest generated --source ./outputs --manifest <id>
|
|
79
43
|
```
|
|
80
44
|
|
|
81
|
-
|
|
45
|
+
Esa última instrucción es clave. Las salidas generadas vuelven a pasar por el mismo proceso de revisión que todo lo demás. El ciclo se cierra.
|
|
82
46
|
|
|
83
|
-
##
|
|
47
|
+
## Lo que produce
|
|
84
48
|
|
|
85
|
-
Cada
|
|
49
|
+
Siete artefactos versionados y con sumas de verificación. Cada uno tiene un enlace a sus predecesores para que pueda rastrear cualquier registro de entrenamiento hasta la regla que lo aprobó.
|
|
86
50
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
records/ Per-asset JSON (provenance + judgment + canon)
|
|
97
|
-
inputs/prompts/ Prompt packs (JSON)
|
|
98
|
-
outputs/ Generated images (gitignored)
|
|
99
|
-
comparisons/ A-vs-B preference judgments
|
|
100
|
-
snapshots/ Frozen dataset snapshots
|
|
101
|
-
splits/ Train/val/test partitions
|
|
102
|
-
exports/ Versioned export packages
|
|
103
|
-
eval-packs/ Canon-aware eval instruments
|
|
104
|
-
```
|
|
51
|
+
| Artefacto. | Qué es. |
|
|
52
|
+
|----------|-----------|
|
|
53
|
+
| **Snapshot** | Selección de registros congelada con huella de configuración. Cada inclusión tiene una razón explícita. |
|
|
54
|
+
| **Split** | Partición de entrenamiento/validación/prueba donde las familias de sujetos nunca cruzan límites. |
|
|
55
|
+
| **Export package** | Conjunto de datos autocontenido: manifiesto, metadatos, imágenes, divisiones, tarjeta del conjunto de datos, sumas de verificación. |
|
|
56
|
+
| **Eval pack** | Tareas de prueba conscientes del criterio: cobertura de áreas, desviación prohibida, referencia/oro, continuidad del sujeto. |
|
|
57
|
+
| **Training package** | Diseño listo para el entrenamiento a través de adaptadores (`diffusers-lora`, `generic-image-caption`). La misma información, en un formato diferente. |
|
|
58
|
+
| **Eval scorecard** | Resultado de aprobación/reprobación por tarea, según la evaluación de las salidas generadas. |
|
|
59
|
+
| **Implementation pack** | Ejemplos de indicaciones, fallos conocidos, pruebas de continuidad y guías para la inclusión. |
|
|
105
60
|
|
|
106
|
-
##
|
|
61
|
+
## Por qué existe
|
|
107
62
|
|
|
108
|
-
|
|
109
|
-
canon → generate → curate → bind → snapshot → split → export → eval
|
|
110
|
-
| | | | | | | |
|
|
111
|
-
rules ComfyUI judgment rules frozen subject package verify
|
|
112
|
-
selection isolation
|
|
113
|
-
```
|
|
63
|
+
Los datos de entrenamiento son el activo más valioso en cualquier canal de IA visual. Pero la mayoría de los datos de entrenamiento son una carpeta de imágenes sin historial, sin rastro de evaluación y sin conexión con las reglas de estilo que se suponía que debían seguir.
|
|
114
64
|
|
|
115
|
-
|
|
116
|
-
2. **Generar** -- ComfyUI genera candidatos con un origen completo.
|
|
117
|
-
3. **Seleccionar** -- apruebe/rechace con puntuaciones por dimensión y modos de fallo.
|
|
118
|
-
4. **Vincular** -- vincule cada elemento a las reglas establecidas con veredictos de cumplimiento/incumplimiento/parcial.
|
|
119
|
-
5. **Captura** -- congele los registros elegibles en una selección determinista y con huella digital.
|
|
120
|
-
6. **Dividir** -- particione en entrenamiento/validación/prueba con aislamiento temático y equilibrio de categorías.
|
|
121
|
-
7. **Exportar** -- cree un paquete autónomo con manifiesto, metadatos, imágenes y sumas de verificación.
|
|
122
|
-
8. **Evaluar** -- genere instrumentos de prueba que respeten el canon para la verificación del modelo.
|
|
65
|
+
Style Dataset Lab hace que esa conexión sea explícita. Su constitución define las reglas. Su rúbrica define las dimensiones de la evaluación. Sus registros de curación registran la evaluación. Su canon vinculante prueba la conexión. Y su conjunto de datos transmite todo eso como una verdad estructurada, consultable y reproducible.
|
|
123
66
|
|
|
124
|
-
|
|
67
|
+
El resultado práctico: cuando su LoRA se desvía, puede preguntar *por qué*. Cuando su próxima ronda de entrenamiento necesita mejores datos, sabe exactamente qué registros están cerca de cumplir los requisitos y qué regla específica no cumplieron. Cuando un nuevo miembro del equipo pregunta cuál es el lenguaje visual del proyecto, la respuesta no es una pizarra de Figma, sino una constitución con 1182 ejemplos clasificados y que se puede buscar.
|
|
125
68
|
|
|
126
|
-
##
|
|
69
|
+
## Cinco dominios, reglas reales
|
|
127
70
|
|
|
128
|
-
|
|
71
|
+
No son plantillas genéricas. Cada dominio viene con reglas de constitución de calidad de producción, definiciones de áreas, rúbricas de evaluación y vocabulario específico.
|
|
129
72
|
|
|
130
|
-
| Dominio |
|
|
131
|
-
|
|
132
|
-
| **game-art** | personaje, entorno, accesorio, interfaz de usuario, nave, interior, equipo | Silueta a escala de juego,
|
|
133
|
-
| **character-design** | retrato, cuerpo entero, vista de 360 grados, hoja de expresiones, pose de acción |
|
|
134
|
-
| **creature-design** | concepto, ortográfico, estudio de detalles, acción, referencia de escala, hábitat |
|
|
135
|
-
| **architecture** | exterior, interior, paisaje urbano, detalle estructural, ruina, paisaje |
|
|
136
|
-
| **vehicle-mech** | exterior, cabina, componente, esquema, hoja de
|
|
73
|
+
| Dominio. | Áreas. | Qué se evalúa. |
|
|
74
|
+
|--------|-------|-----------------|
|
|
75
|
+
| **game-art** | personaje, entorno, accesorio, interfaz de usuario, nave, interior, equipo. | Silueta a escala de juego, identificación de facción, desgaste y envejecimiento. |
|
|
76
|
+
| **character-design** | retrato, cuerpo entero, vista de 360 grados, hoja de expresiones, pose de acción. | Proporciones, lógica del atuendo, personalidad, claridad del gesto. |
|
|
77
|
+
| **creature-design** | concepto, ortográfico, estudio de detalles, acción, referencia de escala, hábitat. | Anatomía, lógica evolutiva, distinción de silueta. |
|
|
78
|
+
| **architecture** | exterior, interior, paisaje urbano, detalle estructural, ruina, paisaje. | Estructura, consistencia de materiales, perspectiva, coherencia de la época. |
|
|
79
|
+
| **vehicle-mech** | exterior, cabina, componente, esquema, hoja de silueta, variante de daño. | Lógica mecánica, lenguaje de diseño, puntos de acceso, narrativa de daño. |
|
|
137
80
|
|
|
138
|
-
##
|
|
81
|
+
## Estructura del proyecto
|
|
139
82
|
|
|
140
|
-
|
|
83
|
+
Cada proyecto es independiente. Cinco archivos de configuración JSON definen las reglas; todo lo demás es datos.
|
|
141
84
|
|
|
142
85
|
```
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
86
|
+
projects/my-project/
|
|
87
|
+
project.json Identity + generation defaults
|
|
88
|
+
constitution.json Rules with rationale templates
|
|
89
|
+
lanes.json Subject lanes with detection patterns
|
|
90
|
+
rubric.json Scoring dimensions + thresholds
|
|
91
|
+
terminology.json Group vocabulary + detection order
|
|
92
|
+
records/ Per-asset JSON (provenance + judgment + canon)
|
|
93
|
+
snapshots/ Frozen dataset snapshots
|
|
94
|
+
splits/ Train/val/test partitions
|
|
95
|
+
exports/ Versioned export packages
|
|
96
|
+
training/ Profiles, manifests, packages, eval runs, implementations
|
|
151
97
|
```
|
|
152
98
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
Las **divisiones** asignan los registros a particiones de entrenamiento/validación/prueba, con aislamiento de sujetos (ninguna familia de sujetos aparece en múltiples divisiones) y distribución equilibrada por "carril". Un generador de números pseudoaleatorios con semilla garantiza resultados idénticos a partir de la misma semilla.
|
|
156
|
-
|
|
157
|
-
Los **paquetes de exportación** son autocontenidos: manifiesto, metadata.jsonl, imágenes (enlaces simbólicos o copias), divisiones, tarjeta del conjunto de datos (Markdown + JSON) y sumas de verificación en formato BSD. Todo lo necesario para reconstruir el conjunto de datos desde cero.
|
|
99
|
+
## Propiedades de confianza
|
|
158
100
|
|
|
159
|
-
|
|
101
|
+
Estas no son meras aspiraciones. Se aplican de forma obligatoria.
|
|
160
102
|
|
|
161
|
-
|
|
103
|
+
- **Las instantáneas son inmutables.** La huella digital de la configuración (SHA-256) demuestra que nada ha cambiado.
|
|
104
|
+
- **Las divisiones evitan fugas de información.** Las familias de sujetos (por identidad, linaje o sufijo de ID) nunca cruzan los límites de la partición.
|
|
105
|
+
- **Los manifiestos son contratos inalterables.** Exporta el hash + la huella digital de la configuración. Si algo cambia, crea uno nuevo.
|
|
106
|
+
- **Los adaptadores no pueden modificar la información.** Diferente diseño, mismos registros. No hay adiciones, ni eliminaciones, ni reclasificaciones.
|
|
107
|
+
- **Las salidas generadas se revisan antes de ser utilizadas.** No hay excepciones. Se curan y se vinculan como todo lo demás.
|
|
162
108
|
|
|
163
|
-
##
|
|
109
|
+
## Star Freight
|
|
164
110
|
|
|
165
|
-
|
|
111
|
+
El repositorio incluye un ejemplo de funcionamiento completo: 1182 registros, 5 facciones, 7 rutas, 24 reglas constitucionales, 892 activos aprobados, 2 perfiles de entrenamiento. Un canon visual de un RPG de ciencia ficción realista, completamente curado.
|
|
166
112
|
|
|
167
113
|
```bash
|
|
168
114
|
git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
|
|
169
115
|
cd style-dataset-lab
|
|
170
|
-
|
|
171
|
-
# Validate the project
|
|
172
116
|
sdlab project doctor --project star-freight
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
sdlab snapshot create --project star-freight # 839 eligible records
|
|
176
|
-
sdlab split build --project star-freight # ~80/10/10, zero leakage
|
|
177
|
-
sdlab export build --project star-freight # package with checksums
|
|
178
|
-
sdlab eval-pack build --project star-freight # 78 eval records
|
|
117
|
+
sdlab snapshot create --project star-freight # 839 eligible records
|
|
118
|
+
sdlab split build --project star-freight # zero subject leakage
|
|
179
119
|
```
|
|
180
120
|
|
|
181
|
-
##
|
|
121
|
+
## Formatos de salida
|
|
182
122
|
|
|
183
|
-
|
|
123
|
+
`sdlab` es el propietario del conjunto de datos. La conversión de formatos la gestiona [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset): TRL, LLaVA, Qwen2-VL, JSONL, Parquet, y más. `repo-dataset` se encarga de la renderización; nunca decide qué incluir.
|
|
184
124
|
|
|
185
|
-
|
|
186
|
-
# Rename your data directory
|
|
187
|
-
mv games projects
|
|
125
|
+
## Instalación
|
|
188
126
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
sdlab bind --project star-freight # canonical form
|
|
127
|
+
```bash
|
|
128
|
+
npm install -g @mcptoolshop/style-dataset-lab
|
|
192
129
|
```
|
|
193
130
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
**Solo local.** Se comunica con ComfyUI en `localhost:8188`. No hay telemetría, ni análisis, ni solicitudes externas. Las imágenes permanecen en tu GPU y sistema de archivos.
|
|
131
|
+
Requiere Node.js 20+ y [ComfyUI](https://github.com/comfyanonymous/ComfyUI) en localhost:8188 para la generación.
|
|
197
132
|
|
|
198
|
-
##
|
|
133
|
+
## Seguridad
|
|
199
134
|
|
|
200
|
-
|
|
201
|
-
- Checkpoint DreamShaper XL Turbo + LoRA ClassipeintXL
|
|
202
|
-
- Node.js 20+
|
|
203
|
-
- [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) para la exportación del entrenamiento.
|
|
135
|
+
Solo funciona localmente. No hay telemetría, ni análisis, ni solicitudes externas. Las imágenes permanecen en tu GPU y sistema de archivos.
|
|
204
136
|
|
|
205
137
|
## Licencia
|
|
206
138
|
|
package/README.fr.md
CHANGED
|
@@ -11,196 +11,128 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Définissez vos règles visuelles. Générez des œuvres. Évaluez chaque image en fonction de ces règles. Livrez les résultats sous forme de données d'entraînement versionnées et auditables.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Style Dataset Lab relie les éléments que vous avez écrits concernant votre style artistique à l'ensemble de données sur lequel vous entraînez réellement votre modèle. Vous définissez une constitution : règles de silhouette, contraintes de palette, langage des matériaux, tout ce qui est important pour votre projet. Le pipeline génère des candidats, les évalue en fonction de ces règles, et regroupe les œuvres approuvées dans des ensembles de données reproductibles où chaque enregistrement explique pourquoi il a été inclus.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
La boucle se referme : entraînez un modèle, générez de nouvelles sorties, évaluez-les en fonction des mêmes critères, réintégrez ce qui est validé. L'ensemble de données grandit et les règles restent valables.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Le pipeline produit quatre éléments :
|
|
23
|
-
|
|
24
|
-
| Élément | Description |
|
|
25
|
-
|----------|-----------|
|
|
26
|
-
| **Snapshot** | Sélection de données éligibles, figée et identifiée de manière unique. Chaque inclusion a une justification explicite. |
|
|
27
|
-
| **Split** | Partition train/validation/test sécurisée contre les fuites. Les données partageant la même famille de sujets sont toujours regroupées dans la même partition. |
|
|
28
|
-
| **Export package** | Ensemble de données autonome : manifeste, métadonnées, images, divisions, description de l'ensemble de données et sommes de contrôle. |
|
|
29
|
-
| **Eval pack** | Tâches de vérification respectant les règles constitutionnelles : couverture des aspects, dérive interdite, ancres/références, cohérence des sujets. |
|
|
30
|
-
|
|
31
|
-
Chaque élément du pipeline contient trois informations :
|
|
32
|
-
|
|
33
|
-
1. **Traçabilité** – historique complet de la génération (point de contrôle, LoRA, seed, échantillonneur, cfg, timing).
|
|
34
|
-
2. **Conformité aux règles constitutionnelles** – quelles règles constitutionnelles cet élément respecte, ne respecte pas ou respecte partiellement.
|
|
35
|
-
3. **Évaluation de la qualité** – approuvé/refusé/limite, avec des scores par dimension.
|
|
36
|
-
|
|
37
|
-
Fonctionne pour les illustrations de jeux, la conception de personnages, la conception de créatures, l'architecture, les concepts de véhicules/robots, et tout domaine où la production visuelle doit rester conforme aux spécifications.
|
|
38
|
-
|
|
39
|
-
## Démarrage rapide
|
|
20
|
+
## Le pipeline
|
|
40
21
|
|
|
41
22
|
```bash
|
|
42
|
-
#
|
|
43
|
-
npm install -g @mcptoolshop/style-dataset-lab
|
|
44
|
-
|
|
45
|
-
# Scaffold a new project
|
|
23
|
+
# Write your canon. Scaffold the project.
|
|
46
24
|
sdlab init my-project --domain character-design
|
|
47
25
|
|
|
48
|
-
#
|
|
49
|
-
sdlab
|
|
50
|
-
|
|
26
|
+
# Generate candidates via ComfyUI, then review them
|
|
27
|
+
sdlab generate inputs/prompts/wave1.json --project my-project
|
|
28
|
+
sdlab curate <id> approved "Strong silhouette, correct faction palette"
|
|
51
29
|
|
|
52
|
-
|
|
30
|
+
# Bind approved work to constitution rules
|
|
31
|
+
sdlab bind --project my-project
|
|
53
32
|
|
|
54
|
-
|
|
33
|
+
# Freeze a versioned dataset
|
|
34
|
+
sdlab snapshot create --project my-project
|
|
35
|
+
sdlab split build
|
|
36
|
+
sdlab export build
|
|
55
37
|
|
|
56
|
-
|
|
57
|
-
sdlab
|
|
58
|
-
sdlab
|
|
59
|
-
|
|
60
|
-
sdlab
|
|
61
|
-
sdlab generate:identity <packet> # Named-subject identity images
|
|
62
|
-
sdlab generate:controlnet # ControlNet-guided generation
|
|
63
|
-
sdlab generate:ipadapter # IP-Adapter reference-guided
|
|
64
|
-
|
|
65
|
-
sdlab curate <id> <status> <explanation> # Record review judgment
|
|
66
|
-
sdlab compare <a> <b> <winner> <reason> # Pairwise A-vs-B comparison
|
|
67
|
-
sdlab bind [--project <name>] # Bind records to constitution rules
|
|
68
|
-
sdlab painterly [--project <name>] # Post-processing style pass
|
|
69
|
-
|
|
70
|
-
sdlab snapshot create [--profile <name>] # Create frozen dataset snapshot
|
|
71
|
-
sdlab snapshot list # List all snapshots
|
|
72
|
-
sdlab snapshot diff <a> <b> # Compare two snapshots
|
|
73
|
-
sdlab eligibility audit # Audit record training eligibility
|
|
74
|
-
sdlab split build [--snapshot <id>] # Build train/val/test split
|
|
75
|
-
sdlab split audit <id> # Audit split for leakage + balance
|
|
76
|
-
sdlab card generate # Generate dataset card (md + JSON)
|
|
77
|
-
sdlab export build [--snapshot <id>] # Build versioned export package
|
|
78
|
-
sdlab eval-pack build # Build canon-aware eval pack
|
|
38
|
+
# Build a training package and close the loop
|
|
39
|
+
sdlab training-manifest create --profile character-style-lora
|
|
40
|
+
sdlab training-package build
|
|
41
|
+
sdlab eval-run create && sdlab eval-run score <id> --outputs results.jsonl
|
|
42
|
+
sdlab reingest generated --source ./outputs --manifest <id>
|
|
79
43
|
```
|
|
80
44
|
|
|
81
|
-
|
|
45
|
+
Cette dernière commande est essentielle. Les sorties générées passent par le même processus de révision que tout le reste. La boucle se referme.
|
|
82
46
|
|
|
83
|
-
##
|
|
47
|
+
## Ce qu'il produit
|
|
84
48
|
|
|
85
|
-
|
|
49
|
+
Sept artefacts versionnés et vérifiés par checksum. Chacun est lié à ses prédécesseurs, ce qui vous permet de retracer tout enregistrement d'entraînement jusqu'à la règle qui l'a approuvé.
|
|
86
50
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
records/ Per-asset JSON (provenance + judgment + canon)
|
|
97
|
-
inputs/prompts/ Prompt packs (JSON)
|
|
98
|
-
outputs/ Generated images (gitignored)
|
|
99
|
-
comparisons/ A-vs-B preference judgments
|
|
100
|
-
snapshots/ Frozen dataset snapshots
|
|
101
|
-
splits/ Train/val/test partitions
|
|
102
|
-
exports/ Versioned export packages
|
|
103
|
-
eval-packs/ Canon-aware eval instruments
|
|
104
|
-
```
|
|
51
|
+
| Élément | Description |
|
|
52
|
+
|----------|-----------|
|
|
53
|
+
| **Snapshot** | Sélection d'enregistrements figée avec empreinte de configuration. Chaque inclusion a une raison explicite. |
|
|
54
|
+
| **Split** | Partitionnement entraînement/validation/test où les familles de sujets ne traversent jamais les limites. |
|
|
55
|
+
| **Export package** | Ensemble de données autonome : manifeste, métadonnées, images, divisions, description de l'ensemble de données et sommes de contrôle. |
|
|
56
|
+
| **Eval pack** | Tâches de vérification respectant les règles constitutionnelles : couverture des aspects, dérive interdite, ancres/références, cohérence des sujets. |
|
|
57
|
+
| **Training package** | Disposition prête pour l'entraînement via des adaptateurs (`diffusers-lora`, `generic-image-caption`). La même information, dans un format différent. |
|
|
58
|
+
| **Eval scorecard** | Indicateur de réussite/échec par tâche, basé sur l'évaluation des sorties générées par rapport aux ensembles d'évaluation. |
|
|
59
|
+
| **Implementation pack** | Exemples de prompts, échecs connus, tests de continuité et instructions de réintégration. |
|
|
105
60
|
|
|
106
|
-
##
|
|
61
|
+
## Pourquoi cela existe
|
|
107
62
|
|
|
108
|
-
|
|
109
|
-
canon → generate → curate → bind → snapshot → split → export → eval
|
|
110
|
-
| | | | | | | |
|
|
111
|
-
rules ComfyUI judgment rules frozen subject package verify
|
|
112
|
-
selection isolation
|
|
113
|
-
```
|
|
63
|
+
Les données d'entraînement sont l'élément le plus important dans tout pipeline d'IA visuelle. Mais la plupart des données d'entraînement ne sont qu'un dossier d'images sans historique, sans trace de jugement et sans lien avec les règles de style qu'elles étaient censées suivre.
|
|
114
64
|
|
|
115
|
-
|
|
116
|
-
2. **Générer** – ComfyUI produit des candidats avec une traçabilité complète.
|
|
117
|
-
3. **Sélectionner** – approuvez/refusez avec des scores par dimension et des modes de défaillance.
|
|
118
|
-
4. **Associer** – liez chaque élément aux règles constitutionnelles avec des verdicts d'acceptation/rejet/partiel.
|
|
119
|
-
5. **Instantané** – figez les données éligibles dans une sélection déterministe et identifiée de manière unique.
|
|
120
|
-
6. **Diviser** – partitionnez en train/validation/test avec isolement des sujets et équilibre des aspects.
|
|
121
|
-
7. **Exporter** – créez un package autonome avec un manifeste, des métadonnées, des images et des sommes de contrôle.
|
|
122
|
-
8. **Évaluer** – générez des instruments de test respectant les règles constitutionnelles pour la vérification du modèle.
|
|
65
|
+
Style Dataset Lab établit ce lien de manière explicite. Votre constitution définit les règles. Votre grille d'évaluation définit les dimensions de l'évaluation. Vos enregistrements de curation consignent le jugement. Votre canon de référence prouve le lien. Et votre ensemble de données transmet tout cela sous forme de vérité structurée, consultable et reproductible.
|
|
123
66
|
|
|
124
|
-
|
|
67
|
+
Le résultat pratique : lorsque votre LoRA dérive, vous pouvez demander *pourquoi*. Lorsque votre prochaine phase d'entraînement a besoin de meilleures données, vous savez exactement quels enregistrements sont proches de la limite et quelle règle unique ils ont manquée. Lorsqu'un nouveau membre de l'équipe demande quelle est la langue visuelle du projet, la réponse n'est pas un tableau Figma, mais une constitution consultable avec 1 182 exemples notés.
|
|
125
68
|
|
|
126
|
-
##
|
|
69
|
+
## Cinq domaines, règles réelles
|
|
127
70
|
|
|
128
|
-
|
|
71
|
+
Ce ne sont pas des modèles génériques. Chaque domaine est fourni avec des règles de constitution, des définitions de catégories, des grilles d'évaluation et un vocabulaire de groupe de qualité professionnelle.
|
|
129
72
|
|
|
130
|
-
| Domaine | Aspects |
|
|
131
|
-
|
|
132
|
-
| **game-art** | personnage, environnement, accessoire, interface utilisateur, vaisseau, intérieur, équipement | Silhouette à l'échelle du gameplay,
|
|
133
|
-
| **character-design** | portrait, corps entier, vue de face, feuille d'expressions, pose d'action |
|
|
134
|
-
| **creature-design** | concept, orthographique, étude de détail, action, référence d'échelle, habitat |
|
|
135
|
-
| **architecture** | extérieur, intérieur, paysage urbain, détail structurel, ruine, paysage |
|
|
73
|
+
| Domaine | Aspects | Ce qui est évalué |
|
|
74
|
+
|--------|-------|-----------------|
|
|
75
|
+
| **game-art** | personnage, environnement, accessoire, interface utilisateur, vaisseau, intérieur, équipement | Silhouette à l'échelle du gameplay, interprétation de la faction, usure et vieillissement. |
|
|
76
|
+
| **character-design** | portrait, corps entier, vue de face, feuille d'expressions, pose d'action | Proportions, logique des costumes, personnalité, clarté des gestes. |
|
|
77
|
+
| **creature-design** | concept, orthographique, étude de détail, action, référence d'échelle, habitat | Anatomie, logique évolutive, distinction de la silhouette. |
|
|
78
|
+
| **architecture** | extérieur, intérieur, paysage urbain, détail structurel, ruine, paysage | Structure, cohérence des matériaux, perspective, cohérence de l'époque. |
|
|
136
79
|
| **vehicle-mech** | extérieur, cockpit, composant, schéma, feuille de silhouette, variante endommagée | Logique mécanique, langage de conception fonctionnelle, points d'accès, description des dommages. |
|
|
137
80
|
|
|
138
|
-
##
|
|
81
|
+
## Structure du projet
|
|
139
82
|
|
|
140
|
-
|
|
83
|
+
Chaque projet est autonome. Cinq fichiers de configuration JSON définissent les règles ; le reste est constitué de données.
|
|
141
84
|
|
|
142
85
|
```
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
86
|
+
projects/my-project/
|
|
87
|
+
project.json Identity + generation defaults
|
|
88
|
+
constitution.json Rules with rationale templates
|
|
89
|
+
lanes.json Subject lanes with detection patterns
|
|
90
|
+
rubric.json Scoring dimensions + thresholds
|
|
91
|
+
terminology.json Group vocabulary + detection order
|
|
92
|
+
records/ Per-asset JSON (provenance + judgment + canon)
|
|
93
|
+
snapshots/ Frozen dataset snapshots
|
|
94
|
+
splits/ Train/val/test partitions
|
|
95
|
+
exports/ Versioned export packages
|
|
96
|
+
training/ Profiles, manifests, packages, eval runs, implementations
|
|
151
97
|
```
|
|
152
98
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
Les **divisions** attribuent les enregistrements aux partitions d'entraînement/validation/test, avec une isolation des sujets (aucune famille de sujets n'apparaît dans plusieurs divisions) et une distribution équilibrée par "voie". Un générateur de nombres pseudo-aléatoires (PRNG) initialisé garantit des résultats identiques à partir de la même initialisation.
|
|
99
|
+
## Propriétés de confiance
|
|
156
100
|
|
|
157
|
-
|
|
101
|
+
Ce ne sont pas des aspirations. Elles sont appliquées.
|
|
158
102
|
|
|
159
|
-
|
|
103
|
+
- **Les instantanés sont immuables.** L'empreinte de configuration (SHA-256) prouve qu'il n'y a eu aucun changement.
|
|
104
|
+
- **Les partitions empêchent les fuites.** Les familles de sujets (par identité, lignée ou suffixe d'ID) ne traversent jamais les limites des partitions.
|
|
105
|
+
- **Les manifestes sont des contrats figés.** Hash d'exportation + empreinte de configuration. Si quelque chose change, créez-en un nouveau.
|
|
106
|
+
- **Les adaptateurs ne peuvent pas modifier la vérité.** Disposition différente, mêmes enregistrements. Pas d'ajouts, pas de suppressions, pas de reclassements.
|
|
107
|
+
- **Les sorties générées sont soumises à une révision.** Pas de contournement. Curatez et intégrez comme tout le reste.
|
|
160
108
|
|
|
161
|
-
|
|
109
|
+
## Star Freight
|
|
162
110
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
Clonez le dépôt pour un exemple fonctionnel complet : 1182 enregistrements, 28 séries de prompts, 5 factions, 7 "voies", 24 règles constitutionnelles, et 892 ressources approuvées provenant d'un RPG de science-fiction réaliste.
|
|
111
|
+
Le dépôt comprend un exemple de fonctionnement complet : 1182 enregistrements, 5 factions, 7 voies, 24 règles constitutionnelles, 892 ressources approuvées, 2 profils de formation. Un corpus visuel de jeu de rôle de science-fiction, entièrement organisé.
|
|
166
112
|
|
|
167
113
|
```bash
|
|
168
114
|
git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
|
|
169
115
|
cd style-dataset-lab
|
|
170
|
-
|
|
171
|
-
# Validate the project
|
|
172
116
|
sdlab project doctor --project star-freight
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
sdlab snapshot create --project star-freight # 839 eligible records
|
|
176
|
-
sdlab split build --project star-freight # ~80/10/10, zero leakage
|
|
177
|
-
sdlab export build --project star-freight # package with checksums
|
|
178
|
-
sdlab eval-pack build --project star-freight # 78 eval records
|
|
117
|
+
sdlab snapshot create --project star-freight # 839 eligible records
|
|
118
|
+
sdlab split build --project star-freight # zero subject leakage
|
|
179
119
|
```
|
|
180
120
|
|
|
181
|
-
##
|
|
121
|
+
## Formats compatibles
|
|
182
122
|
|
|
183
|
-
|
|
123
|
+
`sdlab` est propriétaire de l'ensemble de données. La conversion de format est gérée par [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) : TRL, LLaVA, Qwen2-VL, JSONL, Parquet, et plus encore. `repo-dataset` effectue la conversion ; il ne décide jamais de l'inclusion.
|
|
184
124
|
|
|
185
|
-
|
|
186
|
-
# Rename your data directory
|
|
187
|
-
mv games projects
|
|
125
|
+
## Installation
|
|
188
126
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
sdlab bind --project star-freight # canonical form
|
|
127
|
+
```bash
|
|
128
|
+
npm install -g @mcptoolshop/style-dataset-lab
|
|
192
129
|
```
|
|
193
130
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
**Uniquement local.** Communique avec ComfyUI sur `localhost:8188`. Pas de télémétrie, pas d'analyses, pas de requêtes externes. Les images restent sur votre GPU et votre système de fichiers.
|
|
131
|
+
Nécessite Node.js 20+ et [ComfyUI](https://github.com/comfyanonymous/ComfyUI) installé localement sur le port 8188 pour la génération.
|
|
197
132
|
|
|
198
|
-
##
|
|
133
|
+
## Sécurité
|
|
199
134
|
|
|
200
|
-
|
|
201
|
-
- Point de contrôle DreamShaper XL Turbo + LoRA ClassipeintXL
|
|
202
|
-
- Node.js 20+
|
|
203
|
-
- [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) pour l'exportation des données d'entraînement
|
|
135
|
+
Utilisation locale uniquement. Aucune télémétrie, aucune analyse, aucune requête externe. Les images restent sur votre GPU et votre système de fichiers.
|
|
204
136
|
|
|
205
137
|
## Licence
|
|
206
138
|
|