DEV Community

Adrian
Adrian

Posted on • Originally published at adrianmoreno-dev.com

Portfolio de IA open source: 20+ proyectos con LLMs self-hosted en producción

Este portfolio no es una página estática con capturas de pantalla. Es una infraestructura de IA open source y self-hosted corriendo en producción: más de 20 proyectos de Machine Learning, cada uno con su demo interactiva real, sobre un único VPS. Este artículo explica cómo está montado y qué decisiones técnicas lo sostienen — porque la parte interesante no es la lista de proyectos, sino que todos funcionan a la vez sin reventar un servidor de 7,6 GB de RAM.

Por qué self-hosted y open source

La alternativa fácil era encadenar APIs de pago (OpenAI, Pinecone, servicios gestionados) y enseñar pantallazos. Pero quería demostrar algo distinto: que se puede construir IA aplicada controlando el stack completo, con costes marginales y código abierto. El repositorio del chatbot RAG es público, y cada demo es ejecutable, no un vídeo.

El stack de recuperación: RAG sin servicios gestionados

El chatbot documental usa una arquitectura RAG enteramente self-hosted:

  • Vector store: FAISS en disco, no una base vectorial gestionada. Índices pre-generados por idioma + índices dinámicos en RAM para los PDFs que sube el usuario.

  • Embeddings: intfloat/multilingual-e5-base (768 dimensiones), corriendo localmente. Se eligió la variante base sobre large tras un incidente de memoria: la calidad extra no justificaba el consumo de RAM en un servidor compartido por 20 servicios.

  • Reranker: cross-encoder mMiniLMv2 para reordenar los candidatos antes de pasarlos al LLM.

  • LLM: Groq (Llama 3.1/3.3) como motor principal, con Ollama local como alternativa. El failover entre ambos es automático.

El resultado: un pipeline de recuperación que no depende de ninguna factura mensual por consultas vectoriales.

20+ servicios FastAPI en un solo VPS

Cada proyecto de ML es un proceso FastAPI independiente en su propio puerto, con su propio modelo y artefactos. Predicción de precio inmobiliario, calidad del aire, detección de fraude, separación de pistas musicales, detección de alergias felinas por visión por computador… cada uno aislado, cada uno desplegado como servicio systemd.

El problema obvio: 20 modelos cargados en memoria a la vez no caben. La solución fue un sistema lazy-load: las demos pesadas están detenidas por defecto y arrancan on-demand cuando un visitante pulsa "Activar demo", apagándose solas tras 30 minutos sin tráfico. Eso liberó ~2 GB de RAM y permite que el portfolio entero conviva en una máquina modesta.

NeuralOps: el sistema multi-agente que lo mantiene vivo

La pieza que más disfruto: el portfolio se mantiene, promociona y mejora a sí mismo mediante un sistema de agentes autónomos. Monitores que vigilan latencia y reinician servicios caídos, un reparador de errores que escala a GitHub Issues lo que no puede arreglar solo, agentes de contenido que sindican los artículos del blog, y un ecosistema "darwiniano" donde cada agente acumula una puntuación de rendimiento y los mejores se reproducen con mutaciones de sus parámetros.

Todo corre con el mismo principio de coste marginal: razonamiento en Groq cuando importa la calidad, modelo local para las tareas baratas, y timers de systemd en lugar de procesos residentes para no malgastar RAM.

El frontend

Laravel + MySQL para la capa web, nginx con HTTPS, Tailwind compilado y auto-alojado (sin CDN). Cada proyecto tiene su ficha, su demo y su artículo técnico en este blog explicando las decisiones reales: qué arquitectura elegí, qué descarté y qué métricas conseguí.

Qué puedes mirar

Si te interesa la IA aplicada construida sin atajos de pago: explora las demos, lee el resto de artículos técnicos donde detallo cada proyecto, o revisa el código del chatbot RAG en GitHub. Todo lo que se describe aquí está funcionando ahora mismo en producción.


Publicado originalmente en adrianmoreno-dev.com.

Top comments (0)