Cursos/MLOps local/Proyecto final

Proyecto: mini plataforma LLM privada

El proyecto final une todo: un modelo local servido por API, un gateway con límites, trazas, evals mínimas y una decisión clara de qué está listo para producción y qué no.

Objetivos de aprendizaje
  • Montar una arquitectura local reproducible para una app LLM.
  • Documentar modelo, gateway, logs, evals, costes y límites.
  • Dejar una checklist de salida antes de abrirlo a usuarios.
En cristiano: plataforma LLM privada. No es un único chat. Es el conjunto de piezas que permite a varias apps usar modelos con control: API, gateway, permisos, observabilidad, evals y operación.

Arquitectura del proyecto

Terminal
usuario
  -> app web
  -> API propia con auth
  -> LiteLLM gateway
  -> vLLM o llama.cpp server
  -> Langfuse/OpenTelemetry
  -> promptfoo evals
  -> Redis para colas/caché
  -> dashboard de métricas
Idea clave. Ray Serve puede entrar cuando ya necesitas escalar réplicas, varios modelos o autoscaling. Para una primera plataforma privada, empieza más pequeño y medible.

Checklist de producción

  • El modelo y su hash están documentados.
  • El servidor no está expuesto directamente a internet.
  • Hay claves por entorno, usuario o equipo.
  • Hay rate limits y presupuesto.
  • Las trazas muestran modelo, latencia, tokens y errores.
  • Hay evals mínimas antes de cambiar prompts o modelos.
  • Hay plan de fallback si el modelo local cae.
Terminal
decision_salida:
  estado: "piloto interno"
  usuarios: ["equipo soporte"]
  limite_diario_tokens: 500000
  modelos: ["local-qwen", "backup-cloud"]
  datos_permitidos: ["manuales internos", "FAQs"]
  datos_prohibidos: ["contratos personales", "secretos", "credenciales"]
  siguiente_revision: "2026-07-17"
Cuidado. No llames producción a una demo sin operación. Producción significa que alguien puede mantenerla cuando falla, cuesta demasiado o responde mal.
Comprueba que funciona. Apaga el backend local y lanza una petición. La app debe fallar con mensaje claro o usar fallback controlado, no quedarse esperando sin límite.
Guardar y reabrir el proyecto.
Este proyecto deja una base reutilizable: cada nuevo curso o app de Aulafy puede usar la misma puerta, trazas y evals.