ntia / README.md
Ntdeseb's picture
Agregar funcionalidad de gráficos vectoriales SVG con SVGDreamer y modelos Microsoft
8d8ad99
---
title: NTIA Space - Optimizado para H200
emoji: 🚀
colorFrom: indigo
colorTo: red
sdk: gradio
sdk_version: 5.38.2
app_file: app.py
pinned: false
license: mit
short_description: Modelos libres de IA optimizados para ZeroGPU H200
---
# 🚀 NTIA Space - Optimizado para ZeroGPU H200
Este es el repositorio del Space de Hugging Face para NTIA, que proporciona acceso a modelos libres de IA para generación de texto, imágenes y videos **optimizado para ZeroGPU H200** del plan Pro.
## ⚡ Optimizaciones para H200
### **🚀 Rendimiento Optimizado:**
-**Mixed Precision (FP16)** para máxima velocidad
-**XFormers Memory Efficient Attention** habilitado
-**Attention Slicing** para mejor gestión de memoria
-**VAE Slicing** para modelos grandes
-**CUDA Optimizations** (cudnn.benchmark, tf32)
### **🎯 Velocidad H200:**
-**Hasta 10x más rápido** que CPU
-**Generación en segundos** en lugar de minutos
-**Optimizado para modelos grandes** (FLUX, SDXL)
-**Batch processing** para múltiples imágenes
## 🚀 Despliegue Rápido
### Script de Push Automático
Para hacer commits y push rápidos, usa el script `push.ps1`:
```powershell
# Commit con mensaje personalizado
.\push.ps1 "tu mensaje de commit"
# Commit con mensaje por defecto "update"
.\push.ps1
```
### Comandos Manuales
```powershell
# Agregar todos los cambios
git add .
# Commit con mensaje
git commit -m "tu mensaje"
# Push a Hugging Face
git push
```
## 🔧 Configuración
### Variables de Entorno
Para usar modelos gated como **FLUX.1-dev** y **FLUX.1-schnell**, necesitas configurar:
#### 1. Obtener Token de Hugging Face
1. Ve a [Hugging Face Settings](https://huggingface.co/settings/tokens)
2. Crea un nuevo token con permisos de **read**
3. Copia el token generado
#### 2. Configurar Token en el Space
1. Ve a tu Space: https://huggingface.co/spaces/Ntdeseb/ntia
2. Haz clic en **Settings** (⚙️)
3. En la sección **Variables and secrets**
4. Agrega una nueva variable:
- **Name**: `HF_TOKEN`
- **Value**: `hf_tu_token_aqui`
- **Type**: `Secret`
5. Guarda los cambios
6. Reinicia el Space
#### 3. Verificar Acceso a Modelos FLUX
1. Ve a [FLUX.1-dev](https://huggingface.co/black-forest-labs/FLUX.1-dev)
2. Haz clic en **Access** para solicitar acceso
3. Acepta los términos de licencia
4. Repite para [FLUX.1-schnell](https://huggingface.co/black-forest-labs/FLUX.1-schnell)
### Dependencias
Ver `requirements.txt` para la lista completa de dependencias.
## 📋 Modelos Disponibles
### Texto
- DialoGPT (Medium, Large, Small)
- GPT-2 (Base, Medium, Large)
- GPT-Neo (125M, 1.3B)
- OPT (125M, 350M)
- BLOOM (560M, 1B1)
- Traductores (ES-EN, EN-ES)
### Imágenes
- Stable Diffusion (v1.4, v1.5, v2.1, SDXL)
- SDXL Turbo (ultra rápido)
- SD Turbo (ultra rápido)
- FLUX.1-dev y FLUX.1-schnell (alta calidad)
- Modelos especializados (Waifu, Realistic Vision, etc.)
### 🎨 Gráficos Vectoriales (NUEVO)
- **SVGDreamer**: Generación de SVG con múltiples estilos
- **Modelos Microsoft**: Especializados para diferentes tipos de gráficos
- IconGenerator: Iconos vectoriales
- LogoMaker: Logos corporativos
- VectorArt: Arte vectorial general
- IllustrationGen: Ilustraciones editoriales
- PatternMaker: Patrones vectoriales
- DiagramGen: Diagramas técnicos
- ChartMaker: Gráficos de datos
- FlowchartGen: Diagramas de flujo
- MindMapGen: Mapas mentales
- InfographicGen: Infografías
- PosterMaker: Pósters vectoriales
- BannerGen: Banners web
- CardMaker: Tarjetas de presentación
- BadgeGen: Insignias y premios
- StickerMaker: Stickers vectoriales
- EmojiGen: Emojis personalizados
- IconSetGen: Conjuntos de iconos
- UIElementGen: Elementos de interfaz
### Videos
- AnimateDiff Lightning (ultra rápido)
- Zeroscope (v2 576w, v2 XL)
- Text-to-Video MS 1.7B (rápido)
- Wan2.1 T2V 14B (alta calidad)
- ModelScope (experimental)
## 🎨 Uso
1. Accede al Space en: https://huggingface.co/spaces/Ntdeseb/ntia
2. Selecciona el tipo de generación (texto, imagen, video, vector)
3. Elige el modelo deseado
4. Ingresa tu prompt
5. ¡Genera contenido!
## 🎨 Uso de Gráficos Vectoriales
### Características Principales
- **Formato SVG**: Gráficos escalables sin pérdida de calidad
- **Múltiples estilos**: iconography, pixel_art, sketch, painting
- **Generación multi-partícula**: Hasta 8 variantes simultáneas
- **Optimizado para ZeroGPU**: Uso eficiente de cuota H200
### Cómo Usar SVGDreamer
1. Ve a la pestaña **"🎨 Gráficos Vectoriales"**
2. Selecciona **"jree423/svgdreamer"** como modelo
3. Escribe tu prompt (ej: "a majestic eagle soaring through clouds")
4. Elige el estilo deseado:
- **iconography**: Iconos limpios y minimalistas
- **pixel_art**: Estilo retro con píxeles visibles
- **sketch**: Dibujo a mano alzada
- **painting**: Estilo pictórico con pinceladas
5. Ajusta los parámetros:
- **Partículas**: 1-8 (más = más variantes)
- **Iteraciones**: 100-1000 (más = mejor calidad)
- **Guidance scale**: 1.0-15.0 (controla adherencia)
- **Dimensiones**: 64x64 a 512x512 píxeles
6. Haz clic en **"🎨 Generar Vector"**
### Ejemplos de Prompts
- **Naturaleza**: "ocean waves crashing on rocks"
- **Personajes**: "a friendly robot character"
- **Arte abstracto**: "geometric patterns in bright colors"
- **Elementos corporativos**: "modern company logo with geometric shapes"
### Modelos Especializados
- **IconGenerator**: Para iconos de apps y símbolos
- **LogoMaker**: Para logos corporativos y de marca
- **VectorArt**: Para arte vectorial general
- **IllustrationGen**: Para ilustraciones editoriales
- **PatternMaker**: Para patrones decorativos
- **DiagramGen**: Para diagramas técnicos
- **ChartMaker**: Para gráficos de datos
- **FlowchartGen**: Para diagramas de flujo
- **MindMapGen**: Para mapas mentales
- **InfographicGen**: Para infografías
- **PosterMaker**: Para pósters vectoriales
- **BannerGen**: Para banners web
- **CardMaker**: Para tarjetas de presentación
- **BadgeGen**: Para insignias y premios
- **StickerMaker**: Para stickers vectoriales
- **EmojiGen**: Para emojis personalizados
- **IconSetGen**: Para conjuntos de iconos
- **UIElementGen**: Para elementos de interfaz
### Optimización de Cuota
- **Rápido**: 1 partícula, 100 iteraciones
- **Balanceado**: 4 partículas, 500 iteraciones
- **Alta calidad**: 8 partículas, 1000 iteraciones
## 🔄 Actualizaciones
Para actualizar el Space:
1. Haz tus cambios en el código
2. Usa el script de push: `.\push.ps1 "descripción de cambios"`
3. El Space se actualizará automáticamente en Hugging Face
## 🐛 Solución de Problemas
### FLUX Models
- Los modelos FLUX requieren `sentencepiece` (ya incluido en requirements.txt)
- Configuración optimizada con parámetros recomendados
- Seed aleatorio para generar imágenes diferentes
### Errores Comunes
- **"Cannot instantiate tokenizer"**: Verifica que `sentencepiece` esté instalado
- **"enable_model_cpu_offload requires accelerator"**: Normal en entornos sin GPU
- **"Value not in list of choices"**: Verifica que el modelo esté en la lista de MODELS
## 📝 Logs
El Space incluye logs detallados para debugging:
- Carga de modelos
- Parámetros de generación
- Errores y fallbacks
- Estado de conexión
## 🤝 Contribuciones
1. Fork el repositorio
2. Crea una rama para tu feature
3. Haz tus cambios
4. Usa `.\push.ps1 "descripción"` para commit
5. Crea un Pull Request
## 📄 Licencia
Este proyecto está bajo la licencia MIT.