Cómo poner en producción APIs de IA con FastAPI¶
FastAPI hace fácil levantar un endpoint de IA con rapidez. La parte difícil es decidir cómo debe ser el contrato cuando el workflow incluye retrieval, tareas de larga duración, respuestas parciales y failure modes operativos.
La primera pregunta no es la latencia¶
Es tentador empezar por la velocidad del modelo. En la práctica, la primera pregunta es si el contrato API refleja con honestidad el workflow:
- ¿Esta petición es síncrona o asíncrona?
- ¿El cliente necesita eventos de progreso?
- ¿El resultado puede ser parcial, streaming o diferido?
- ¿Qué debe ocurrir cuando falla un paso del workflow de IA?
Los contratos que más importan¶
Detalles de producción que cambian el diseño¶
- Los workflows de IA suelen necesitar ejecución en background, no solo handlers request-response.
- El streaming puede mejorar la UX, pero solo si la semántica de eventos es estable.
- La lógica de reintentos pertenece a application services y workers, no a route handlers sueltos.
- Logging, trazas y correlación de requests se vuelven esenciales cuando entran varios pasos.
Una arquitectura por defecto mejor¶
Prefiero mantener FastAPI ligero:
- Las rutas validan y dan forma a los inputs
- Los application services son dueños de la orquestación
- Retrieval, tools y adapters de modelo quedan detrás de interfaces explícitas
- El trabajo en background se externaliza cuando el workflow supera los límites limpios de request-response
Esa arquitectura hace que la API sea más fácil de escalar, testear y evolucionar conforme crecen el tráfico y la complejidad del workflow.
Criterios para considerarlo listo¶
Antes de llamar production-ready a una API de IA, quiero ver:
- contratos tipados
- comportamiento explícito ante timeouts
- semántica clara de fallos
- observabilidad a lo largo del workflow
- confianza en despliegue y rollback
Si tu endpoint de IA ya funciona pero todavía se siente frágil, reserva una llamada inicial. El gap normalmente no está en el modelo, sino en el diseño del servicio que lo rodea.