Conceptos

Arquitectura
┌───────────────────────────────────────────────────────────────┐
│ USUARIO │
│───────────────────────────────────────────────────────────────│
│ 💬 Usa navegador web (Chrome, Firefox, etc.) │
│ 🌐 Accede a http://tu-servidor:3000 │
└───────────────┬───────────────────────────────────────────────┘
│ 1️⃣ Escribe / envía prompt
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 🖥️ Open WebUI (contenedor Docker) │
│──────────────────────────────────────────────────────────────────────│
│ - Interfaz tipo ChatGPT │
│ - Guarda historiales de chat (persistencia) │
│ - Tiene “Knowledge Base” (memoria larga / aprendizaje) │
│ - Llama al modelo LLM a través de API local │
└───────────────┬──────────────────────────────────────────────────────┘
│ 2️⃣ Envía prompt al motor de IA local (Ollama)
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 🧠 Ollama (host, fuera del contenedor) │
│──────────────────────────────────────────────────────────────────────│
│ - Maneja modelos LLM (Llama 3, Mistral, Phi-3, etc.) │
│ - Usa GPU vía CUDA para acelerar inferencia │
│ - Expone API local http://localhost:11434 │
│ - Compatible con múltiples modelos y embeddings │
└───────────────┬──────────────────────────────────────────────────────┘
│ 3️⃣ Llama a la GPU para procesar el modelo
▼
┌──────────────────────────────────────────────────────────────────────┐
│ ⚙️ NVIDIA Container Toolkit + Drivers CUDA │
│──────────────────────────────────────────────────────────────────────│
│ - “Puentea” la GPU física hacia los contenedores │
│ - Permite ejecutar CUDA/Tensor ops dentro de Docker │
│ - Asegura compatibilidad entre driver y librerías del contenedor │
└───────────────┬──────────────────────────────────────────────────────┘
│ 4️⃣ Acceso a la GPU física
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 💻 GPU Física (RTX, CUDA cores, VRAM) │
│──────────────────────────────────────────────────────────────────────│
│ - Ejecuta el modelo LLM en paralelo masivo │
│ - Usa librerías CUDA/cuDNN/TensorRT instaladas en Ubuntu │
│ - Devuelve resultados procesados a Ollama │
└──────────────────────────────────────────────────────────────────────┘