Blog → Regalame → Arquitectura

Una interfaz, dos proveedores LLM

RegalameAINota de arquitectura
Gemini → retry → DeepSeek

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.

La aplicación solicita texto o datos estructurados. La capa de proveedores decide cómo ejecutar la petición.

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.

Ver el contexto del producto

La capa de proveedores da soporte a funcionalidades AI-first dentro de Regalame.