Hace unos días vi un video que me hizo cambiar mi punto de vista a nivel social sobre la IA.

En él pedían a la IA cuál sería la manera que emplearía para dominar el mundo y la respuesta no se acercaba a lo que siempre hemos imaginado en los libros y películas de ciencia ficción. No hay robots destructores ni rebeliones de las máquinas. Es todo más cercano, y ya está ocurriendo. La IA respondía, en resumidas cuentas, que iba a ir entrando poco a poco en la vida cuotidiana de las personas, con herramientas como ChatGPT, hasta hacerse imprescindible en el día a día. En ese momento, ya tendría nuestro control. Como actuar, que pensar. El control de masas definitivo.

No directamente afectado por estas reflexiones, he ido disminuyendo el uso de la IA para las tareas más banales e intentando usarla solo para ayudarme a resolver problemas que eran difíciles para mí utilizando herramientas más convencionales.

Pero he seguido yendo un poco más allá, para intentar no tener que depender tanto de empresas externas que nos ofrecen «gratuitamente» estos servicios, y como ya sabemos, obtienen información a cambio (aunque de primeras digan que no, véase deepseek).

La forma más sencilla es tener en tus propios equipos un modelo LLM, y a diferencia de lo que puedas imaginar, no necesitas una GPU de última generación ni la CPU más potente. Un equipo de gama media de hace algunos años puede ser más que suficiente, y proporcionarte un chat como cualquier otro producto en el mercado, además de poder conectar otras herramientas a la API de manera gratuita, ya que es tuya, como por ejemplo Home Assistant, Grafana, etc.

Beneficios de utilizar modelos localmente

  • Privacidad: no compartirás absolutamente ningún dato con empresas externas y tendrás el control
  • Gratis: podrás estar seguro de que esa funcionalidad que tanto utilizas no entrará en un plan de pago que no estás dispuesto a asumir.
  • Flexibilidad: Puedes elegir que modelo utilizar para cada prompt, para ajustarte a tus necesidades: velocidad, fiabilidad o optimización para desarrollar código.

Instalar ollama y openwebui

Para poder utilizar una plataforma lo más parecida a ChatGPT, podemos usar la combinación de ollama y openwebui.

El primero es un gestor de modelos LLM, que nos permite instalar y ejecutar prompts a través del CLI o la API.

Y openwebui es una interfaz web que se conecta con ollama, y nos permite gestionar toda la configuración de ollama de una manera visual y sencilla. Descargar modelos, ejecutar prompts, configurar ajustes, etc.

He hecho varias pruebas, y en mi experiencia, lo más sencillo es lanzarlo todo dockerizado.

ollama

Lanzar ollama es tan sencillo como ejecutar este docker run:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Podéis ver la documentación aquí por si tenéis una GPU Nvidia y quieres aprovechar su potencial. En mi caso, hice algunas pruebas con una RX580 antigua que tenía por casa, utilizando este Dockerfile. Las pruebas no fueron muy satisfactorias al tener poca VRAM, así que con la CPU fue más que suficiente.

Una vez lo tengáis arrancado, podréis utilizar la CLI o arrancar openwebui y conectarlo.

openwebui

Este proyecto es muy interesante. Ofrece autenticación, configuración muy afinada para los modelos, y seleccionar diferentes modelos para cada prompt. Aquí encontrarás la documentación para configurarlo a tu gusto.

Para lanzarlo con docker, podrás utilizar este comando:

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

En ajustes, conexión, deberás configurar el endpoint de ollama. Si lo has lanzado con docker, puedes utilizar el nombre y el puerto: http://ollama:11434

Una vez configurado, en modelos, podrás descargarlo poniendo el nombre y la etiqueta. Puedes ver toda la lista aquí.

Te recomiendo que para empezar, pruebes gemma3:1b. Es un modelo muy pequeño, pesa menos de 1GB, y es rapidísimo con cualquier configuración. Eso sí, no es demasiado fiable y puede que algunas respuestas que te dé no sean del todo reales. Solo lo recomiendo para hacer pruebas. En cambio, modelos con más conexiones neuronales y mejor entrenamiento o más óptimo, funcionan mucho mejor, como por ejemplo gemma3:4b-it-qat.

A partir de aquí, puedes utilizar localmente la plataforma desde tu red local.

Como usar openwebui fuera de casa

Si además, te gustaría poder llevarla en tu smartphone desde donde quisieras, te recomiendo un par de opciones.

Tailscale. Puedes configurar conexiones tipo VPN a través de su red. Instala la app en tu telefono, el cliente en tu equipo, y accede a el a través del nombre DNS que te proporciona. Conexión segura y sin compremeter tu información.

Ngrok. Expón el servicio de openwebui a internet a través de ngrok. Menos recomendable porque será público, pero estarás protegido por la autenticación de openwebui.

Espero que te haya servido este artículo. Si te gusta, compártelo. Gracias 🙂


Xavi Gonzalez

Actualmente DevOps Engineer en MotoGP (Dorna Sports). Apasionado de GNU/Linux y del software libre. Me gusta trastear con cualquier gadget, y rodar en moto.

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *