Flujos (Pipelines)
Propósito
Un flujo define un conjunto de modelos de Perceiver y el modo de ejecución de cada uno. La aplicación tiene dos interfaces relacionadas:
- Flujos (
/flows): lista y formulario para crear pipelines. - Configuración → Flow: paquetes asociados a modelos y su pipeline operativo; desde Ver Flow se abre el editor por paquete.
El formulario de /flows crea el pipeline con packageId nulo y no incluye un selector para asociarlo a un paquete. La ejecución normal se resuelve por paquete; para configurar el pipeline que procesa un paquete, créalo desde Configuración → Flow y abre su editor. La página /flows no tiene botón para ejecutar un pipeline.
Crear un pipeline desde Flujos
Selecciona Flujos en la navegación lateral y pulsa Create Flow. En el diálogo:
- Introduce Flow Name; es obligatorio.
- Añade una descripción si lo deseas.
- Pulsa Add Model. Cada fila añade un modelo disponible; el primer modelo se selecciona inicialmente, pero puedes cambiarlo en el selector.
- Para cada modelo configura:
- Sync o Async.
- El interruptor para incluirlo o excluirlo del pipeline.
- Elimina una fila con el icono de papelera si no la necesitas.
- Pulsa Create Pipeline. El botón solo se activa cuando hay nombre y al menos un modelo.
El orden que aparece en la lista del diálogo es el orden de incorporación. El icono de agarre no implementa reordenamiento en esta pantalla: quita y vuelve a añadir filas si necesitas corregir el orden antes de crear.
Guarda una captura del diálogo con nombre, descripción y modelos seleccionados como docs/systems/perceiver/user-manual/assets/modules/flows/crear-flujo.png. Cuando exista, activa:
Diálogo Create Flow con una secuencia de modelos, modo Sync/Async e interruptores de inclusión.
Lista y controles de Flujos
Cada tarjeta presenta nombre, descripción si existe, estado del flujo y su secuencia de modelos. Las filas de modelo muestran nombre, tipo y modo de ejecución. Desde esta vista puedes:
- Activar o desactivar el flujo completo con el interruptor de la tarjeta.
- Cambiar Sync/Async en cada modelo.
- Activar o desactivar individualmente cada modelo.
Los cambios se guardan en el servidor y la lista se actualiza tras una respuesta correcta. La lista no incorpora búsqueda, filtros ni paginación.
Guarda una captura del listado con varios estados de flujo y filas de modelos como docs/systems/perceiver/user-manual/assets/modules/flows/lista-flujos.png. Cuando exista, activa:
Tarjetas de pipelines con estado general, orden de modelos, modo y controles de activación.
Aunque existen operaciones correspondientes en la API, la interfaz /flows no presenta controles para editar el nombre o la descripción del pipeline ni para eliminarlo. El botón de eliminación está comentado en el código. Tampoco hay un control para cambiar el orden una vez creado el pipeline.
Configurar el flujo asociado a un paquete
Para la configuración que sí se vincula con el procesamiento de un paquete:
- Abre Configuración → Flow.
- Si hace falta, crea un paquete con nombre, descripción y uno o más modelos; la creación del paquete genera automáticamente un pipeline asociado, inicialmente con los modelos habilitados en modo Sync.
- En la tarjeta del paquete, pulsa Ver Flow.
- En el panel lateral abre la pestaña Flow para configurar los modelos y el horario.
En el editor por paquete puedes:
- Arrastrar modelos para cambiar su orden.
- Expandir un modelo para revisar su estado y opciones específicas.
- Activar o desactivar modelos y cambiar Sync/Async.
- Ajustar el umbral de confianza; la vista ofrece valores entre 10 % y 100 % en pasos de 5 %.
- Para YOLO-World, seleccionar prompts y administrar paquetes de prompts escritos en inglés.
- Para yolo-v8, activar detección de aglomeraciones y definir el mínimo de personas; el umbral inicial es 6 y acepta enteros desde 1.
- Activar Indexar descripciones LLaVA para almacenar descripciones en la búsqueda semántica.
Guarda una captura del panel Ver Flow con varios modelos ordenados y sus controles como docs/systems/perceiver/user-manual/assets/modules/flows/editor-paquete.png. Cuando exista, activa:
Panel de paquete con la secuencia de modelos y controles de estado, modo y configuración.
Configurar el horario del paquete
El panel Horarios Configuration permite:
- Activar o desactivar la restricción de horario.
- Seleccionar días de la semana; por defecto están marcados lunes a viernes.
- Definir hora de inicio y fin; los valores iniciales son 08:00 AM y 06:00 PM.
- Elegir frecuencia Weekly, Daily o Custom.
- Consultar una estimación de cuándo se ejecutaría la siguiente ventana.
- Pulsar Guardar Horario o Cancelar para descartar cambios y recuperar los valores cargados.
La zona horaria guardada se toma de la zona horaria del navegador. En la validación actual, Daily omite el filtro de días; Weekly y Custom validan los días seleccionados, sin una lógica distinta para Custom.
El horario funciona como una ventana que valida las solicitudes de análisis entrantes. El ejecutor rechaza el procesamiento si llega una imagen fuera de los días u horas permitidos; no crea una tarea que despierte el pipeline automáticamente. Comprueba días, horas y zona horaria antes de depender de esta restricción.
Guarda una captura de los días, horas, frecuencia y próxima ejecución estimada como docs/systems/perceiver/user-manual/assets/modules/flows/horario.png. Cuando exista, activa:
Configuración de la ventana de ejecución del pipeline y estimación de la próxima oportunidad de procesamiento.
Qué significan Sync y Async
- Sync: el modelo se ejecuta en la secuencia síncrona del request y sus resultados contribuyen a la respuesta inmediata.
- Async: el modelo se encola para ejecución en segundo plano. El resultado puede completarse después de la respuesta inicial.
En ejecución, Perceiver filtra primero los modelos deshabilitados y procesa los habilitados según su orden. El ingreso de una imagen se realiza desde Análisis, una integración o una llamada al endpoint de ejecución; no desde el listado /flows.
Estados y limitaciones
- Si no hay modelos disponibles, Add Model queda deshabilitado.
- Un flujo nuevo debe tener nombre y al menos un modelo.
- La página muestra carga y estado vacío; no presenta un panel de error propio si falla la consulta de pipelines.
- En la tarjeta de
/flows, el punto verde y el texto Operativo son visuales fijos. Para comprobar el estado real de instalación de un modelo, revisa su estado en Configuración. - La configuración de un paquete puede tener modelos deshabilitados, un horario que rechaza el ingreso fuera de ventana o una ejecución Async todavía en curso.
- En paquetes asociados, la persistencia del resultado de una imagen depende de las reglas de detección significativa y de la deduplicación del backend; un request recibido no garantiza que aparezca como nuevo resultado guardado.
Consulta Configuración y Análisis para administrar paquetes y ejecutar análisis.