Por: Julio C. Sandria R.
Introducción
En este artículo comparto la bitácora del proceso que realicé con la asistencia de Google Gemini para desplegar un entorno de inteligencia artificial generativa (IAG) local, privado y autohospedado. El sistema se instaló utilizando Ollama como motor de inferencia y Open WebUI como interfaz gráfica, ejecutándose sobre una computadora de escritorio antigua con Ubuntu Server 24.04 LTS, limitada a 8 GB de RAM, un procesador Intel Pentium CPU G4400 @ 3.30GHz y un disco duro mecánico de 372 GB.
La idea principal fue buscar alternativas para ejecutar de forma local una IA Generativa con la finalidad de reducir costos. Al utilizar herramientas comerciales de forma gratuita (como ChatGPT, Claude o DeepSeek), es común agotar los límites de uso o tokens disponibles, lo que obliga a pagar suscripciones mensuales o anuales para continuar.
Pregunta: ¿Qué es la inteligencia artificial generativa?
La interfaz de consola ejecutada en una terminal funciona con los tres modelos de lenguaje descargados, pero aquí se muestra solo con el modelo más pequeño (TinyLlama). Una vez iniciado Ollama, al responder por primera vez a la pregunta, tardó poco más de 3 minutos en comenzar a mostrar texto. La segunda vez que se hizo la misma consulta, empezó a responder a los 16 segundos. Esto ocurre porque en la primera ejecución el sistema debe cargar por completo el archivo del modelo en la memoria RAM. Por cierto, a la misma pregunta respondió de forma diferente, como se puede apreciar en la siguiente imagen.

Por su parte, la interfaz web Open WebUI solo logró ejecutarse de forma estable con el modelo de lenguaje más pequeño. Los tiempos de respuesta variaron desde varios segundos hasta minutos para iniciar la redacción en español. A la misma pregunta realizada previamente en la terminal, ofreció una respuesta completamente diferente después de 5 minutos de procesamiento.

Reflexión final: Como resumen humano, utilizar una computadora antigua para correr una IAG de manera local es una experiencia de aprendizaje e implementación muy interesante, pero no es práctica para el uso cotidiano debido a los tiempos de espera. Para obtener un rendimiento fluido y respuestas ágiles, se requiere infraestructura más robusta: mayor cantidad de memoria RAM, un procesador más potente, el uso indispensable de unidades de estado sólido (SSD) en lugar de discos mecánicos, e idealmente una tarjeta gráfica dedicada con memoria VRAM.
Las líneas a continuación corresponden al resumen técnico generado por Gemini al finalizar toda la interacción de instalación y configuración:
Conceptos Clave
- LLM (Large Language Model): Sistema de inteligencia artificial entrenado para comprender, generar y procesar lenguaje natural.
- Ollama: Herramienta ligera y de código abierto diseñada para descargar, configurar y ejecutar modelos de lenguaje localmente en tu propia infraestructura.
- Docker: Tecnología de virtualización basada en contenedores para empaquetar aplicaciones con todas sus dependencias de forma aislada y eficiente.
1. Actualización del Sistema
Antes de comenzar con la instalación de los servicios, es recomendable actualizar los paquetes del sistema operativo:
sudo apt update && sudo apt upgrade -y
2. Instalación y Configuración de Ollama
Ollama es el motor backend encargado de ejecutar los modelos de lenguaje localmente. Se instala mediante su script oficial:
curl -fsSL https://ollama.com/install.sh | sh
Para verificar que el servicio se encuentra activo y funcionando correctamente:
sudo systemctl status ollama
Exponer Ollama a la red local: Por defecto, Ollama solo escucha en localhost. Para permitir conexiones desde otros equipos de la red, edita la configuración del servicio:
sudo SYSTEMD_EDITOR=nano sudo systemctl edit ollama.service
Añade las siguientes líneas dentro de la sección [Service]:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Guarda los cambios y reinicia el demonio:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Permite el tráfico en el cortafuegos si es necesario:
sudo ufw allow 11434/tcp
sudo ufw reload
3. Instalación de Docker
Docker permite ejecutar Open WebUI en un contenedor aislado optimizando el uso de recursos:
sudo apt update
sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable --now docker
4. Despliegue de Open WebUI
Open WebUI provee la interfaz gráfica web accesible desde cualquier navegador, emulando una experiencia similar a ChatGPT:
sudo docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Una vez completado, puedes acceder desde tu navegador mediante:
http://IP_DE_TU_SERVIDOR:3000
5. Modelos recomendados y solución para modelos ultraligeros
Debido a la limitación de memoria RAM en servidores de 8 GB, se evaluó el comportamiento de distintos modelos:
- Llama 3.2 (3B) y Qwen 2.5 (1.5B): Al probar modelos de mayor tamaño en la interfaz web, se presentaron saturaciones de procesamiento y bloqueos de ejecución en el hardware disponible.
- TinyLlama (1.1B): Se implementó como modelo ultraligero de prueba (
ollama run tinyllama), logrando una respuesta rápida y fluida directamente en el motor.
Ajuste crítico de compatibilidad en Open WebUI: Para lograr que el modelo ultraligero respondiera correctamente a través de la interfaz web sin arrojar errores internos, fue necesario acceder a la configuración del modelo dentro de Open WebUI y desmarcar la opción «Builtin Tool» en el panel de capacidades. Esto evita que la interfaz intente forzar llamadas a funciones o herramientas no soportadas por la arquitectura minimalista de TinyLlama.
Referencias y Enlaces de Interés
- Ollama Documentation and Official Repository. Disponible en: https://ollama.com
- Open WebUI Official Documentation. Disponible en: https://github.com/open-webui/open-webui











En Robótica Sandria presentamos este breve tutorial Introducción a la programación con Python, para las personas interesadas en aprender este poderoso lenguaje de programación. Está basado en parte en
Introducción
Para Universidades también es muy útil, ya que el Kit 1 complementado con las actualizaciones 2 a 6, puede contar con una gran diversidad de piezas que permiten armar modelos avanzados de robots.













