Skip to main content

Conceptos

image.png

La IA (Inteligencia Artificial) es una rama de la informática que busca crear máquinas o programas capaces de realizar tareas que normalmente requieren inteligencia humana.

Estas tareas incluyen cosas como:

  • Reconocimiento de voz o imágenes (por ejemplo, cuando tu teléfono entiende lo que dices).

  • Toma de decisiones (como los sistemas que recomiendan películas o rutas de viaje).

  • Aprendizaje automático (machine learning), donde las máquinas aprenden de los datos sin ser programadas explícitamente para cada tarea.

  • Procesamiento del lenguaje natural, que permite a los sistemas entender y responder en lenguaje humano (como yo 😊).

En resumen, la IA trata de imitar la forma en que las personas piensan, aprenden y resuelven problemas, pero usando algoritmos y datos.

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                            │
        └──────────────────────────────────────────────────────────────────────┘