Infraestructura vectorial compartida
El proceso que mantiene al día la información de productos que usan más de diez sistemas de IA: si se desactualiza, dejan de encontrar lo nuevo.
El problema
Varias aplicaciones del portal dependen de una misma base de información visual de los productos para buscar parecidos y agruparlos. Si esa base no se actualiza, los agentes dejan de encontrar los productos nuevos: la búsqueda visual envejece en silencio, sin fallar nunca.
Qué hice
Un job batch que lee de SQL Server los productos con venta reciente, genera el embedding visual de cada uno con CLIP y lo actualiza de forma incremental en la base vectorial. Mantiene dos colecciones: la de 512 dimensiones que consumen todas las aplicaciones de similitud, y una reducida a 256 con PCA para el caso que necesita vectores más livianos. La orquestación corre sobre EasyMorph, el mismo motor de ETL del pipeline de tableros: ingeniería de datos clásica alimentando la capa de IA.
Qué resultó
En producción como infraestructura compartida: más de diez agentes leen lo que este job escribe. Es la pieza que hace que la búsqueda visual del portal conozca los productos nuevos.
Cómo mantiene la base fresca
- Productos con venta recienteEntrada: desde SQL Server
- Embedding visual con CLIPUn vector por cada foto
- Upsert incrementalSolo lo que cambió
- Reducción con PCAUna versión más liviana
- Orquestación con EasyMorphEl ETL del área
- Base que leen 10+ agentesSalida
Es infraestructura invisible: cuando funciona no se nota, y cuando falla nada se rompe — la búsqueda visual simplemente deja de conocer los productos nuevos. Por eso corre en batch, incremental, sobre el mismo orquestador de ETL que el resto del área.
Stack
- Python
- CLIP
- PyTorch
- Qdrant
- scikit-learn (PCA)
- SQL Server
- pyodbc
- EasyMorph
Proyecto interno de Blue Star Group — el código no es público.
Siguiente proyecto: Estandarizador de fotos de producto →