Blog → Regalame → Arquitectura
Una interfaz, dos proveedores LLM
Regalame necesita modelos de lenguaje en funcionalidades reales del producto, pero el código de aplicación no debería quedar ligado a los detalles de un proveedor. La capa actual separa ambas responsabilidades.
La restricción
Gemini es el proveedor principal y DeepSeek está disponible como fallback. Añadir o cambiar un proveedor no debería obligar a cada funcionalidad a conocer un SDK, formato de respuesta o modelo de errores nuevo.
Una interfaz común pequeña
La capa expone generate_text y generate_structured. Ambos devuelven respuestas normalizadas y lanzan errores definidos por la aplicación, sin filtrar excepciones específicas del proveedor hacia el código de producto.
Reintentos y fallback
Los fallos transitorios pueden reintentarse. Cuando la ruta principal no puede completarse bajo las reglas configuradas, la petición puede pasar de Gemini a DeepSeek. El fallback es explícito y observable, no queda oculto dentro de cada funcionalidad.
Salida estructurada
Para las funcionalidades que necesitan datos en lugar de prosa, los modelos de Pydantic definen la estructura esperada. Las respuestas de los proveedores se validan y se devuelven de forma coherente antes de que el resto de Regalame las utilice.
El logging registra proveedor, modelo, latencia, reintentos y fallback para poder investigar el comportamiento sin reconstruirlo a partir del reporte de un usuario.
Estado actual
Esta arquitectura forma parte del trabajo AI-first de Regalame. La fase actual se centra en la estabilización, las pruebas y un despliegue fiable de la capa de proveedores.