Contexto
Generar una imagen es sólo una parte del sistema.
ai.vjml.es utiliza una infraestructura local para transformar una petición en una imagen mediante un pipeline automatizado. Alrededor del modelo de generación existen varias etapas que condicionan de forma importante el resultado final.
Este trabajo explora cómo diseñar, simplificar y mejorar ese pipeline sin depender de servicios externos para la inferencia.
Arquitectura
A alto nivel, el sistema puede representarse así:
User input
↓
Prompt processing
↓
Generation request
↓
Local inference
↓
Image
↓
Delivery
Cada una de estas etapas puede evolucionar independientemente.
La separación entre interfaz, procesamiento del prompt y motor de generación permite experimentar con diferentes aproximaciones sin acoplar todo el sistema a una implementación concreta.
Prompt pipeline
Una parte importante del trabajo se encuentra antes de la generación.
La entrada del usuario debe transformarse en instrucciones suficientemente estructuradas para que el sistema pueda interpretar intención, composición, estilo y otros elementos relevantes de la imagen.
El objetivo no consiste simplemente en producir prompts más largos, sino en conseguir que la transformación sea consistente y que cada parte del pipeline tenga una función clara.
Evolución
El pipeline ha pasado por sucesivas iteraciones a medida que aparecen nuevos casos de prueba.
Cada versión permite observar problemas que no siempre son evidentes en generaciones aisladas:
- elementos duplicados
- anatomías incorrectas
- pérdida de intención
- composición inconsistente
- variación insuficiente
- instrucciones presentes pero con poco efecto real
Esto convierte el desarrollo del pipeline en un proceso iterativo de generación, observación y corrección.
Separación del motor
El modelo de generación se trata como un componente intercambiable.
El sistema debe poder comparar el comportamiento del modelo base con nuevas alternativas sin que el resto de la arquitectura dependa de la identidad concreta del motor utilizado.
┌─ Generation engine A
Pipeline ────┤
└─ Generation engine B
↓
Compare
Esto permite evaluar nuevas opciones manteniendo estable el resto del sistema.
Infraestructura local
La generación se ejecuta sobre infraestructura propia.
Además de mantener la inferencia bajo control local, esta arquitectura permite observar directamente rendimiento, límites de memoria, resoluciones viables y comportamiento del sistema bajo diferentes cargas.
El frontend y la infraestructura de generación pueden vivir en sistemas distintos y comunicarse como componentes de un mismo servicio.
Estado
Activo.
Actualmente seguimos refinando el procesamiento del prompt y comparando el comportamiento del sistema frente a diferentes configuraciones de generación.