Has llegado al lugar adecuado, ármate de paciencia que ya comenzamos! A continuación tienes una guía para poder configurar y ejecutar una IA en tu ordenador.
Para ello, usaremos herramientas como WSL, Docker, Ollama y Stable Diffusion.
Esta guía se encuentra en continua actualización, por lo que irá evolucionando. Se agradece cualquier consejo, recomendación y si dejais una star
se agradece
🔹 1. Requisitos Previos
🔹 2. Configuración Inicial
🔹 3. Instalación de Ollama
🔹 4. Instalación de Docker
🔹 5. Instalación de Stable Diffusion
🔹 6. Ventajas e Inconvenientes
- Un ordenador con Windows 10/11 (con soporte para WSL) / sistema operativo Linux nativo / virtualizado (Ubuntu 24.04.1 nativo)
- Una tarjeta gráfica (GPU) compatible con CUDA (opcional para mejor rendimiento).
-
Instala WSL y Ubuntu 24.04.1 :
Nos dirijimos al símbolo del sistema (CMD) o PowerShell para introducir el siguiente comando:
wsl --install
Para evitar problemas, es necesario reiniciar el ordenador una vez finalice la instalación. Una vez reiniciado accederemos de nuevo a ubuntu con:
wsl -d Ubuntu
Una vez instalado introduciremos un nombre de usuario y contraseña (al escribirla, no se verá por pantalla)
-
Actualización del sistema ubuntu
⚠️ Este paso es común para las personas que decidan optar por usar WSL o Linux nativosudo apt-get update
sudo apt-get upgrade
Es recomendable tener actualizado el sistema para evitar problemas futuros en los siguientes pasos 😉
Cuando hemos terminado la configuración inicial ya podemos proceder a instalar OLLAMA (herramienta para ejecutar localmente modelos de redes neuronales) Gracias a esta herramienta podemos utilizar distintos modelos, nosotros utilizaremos para probar llama3.2
Procedemos a instalarla con el siguiente comando, el cuál podemos ver en la página oficial de Ollama:
curl -fsSL https://ollama.com/install.sh | sh
Para comprobar que la instalación se ha realizado correctamente, nos dirijimos a un navegador web (Chrome, Firefox, Opera..) y accedemos a la siguiente dirección: localhost:11434 en ella debe aparecernos un mensaje que pondrá: "Ollama is running"
Ahora vamos a proceder a descargar el modelo llama3.2, en la terminal, escribiremos el siguiente comando:
ollama pull llama3.2
Ya va siendo hora de probar, no? 😜 Para poder hacer una primera prueba desde la terminal, escribimos el comando:
ollama run llama3.2
Esto funciona... pero nosotros queremos una interfaz tipo ChatGPT que sea más fácil de gestionar.
Por ello, procederemos con los siguientes pasos donde utilizaremos open-webui 🔎
Una forma rápida y sencilla es ejecutar sobre contenedores docker toda lo que necesitamos.
¿No sabes lo que es docker? Puedes verlo aquí.
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Añadiremos la nueva source y actualizaremos
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Instalamos docker para poder ejecutar open-webui 😎
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Lanzamos el contenedor con open-webui, es decir, controlaremos absolutamente todo desde una interfaz muy sencilla. No sólo, podemos usar el modelo Llama3.2 sino los que queramos a la vez, como iremos viendo.
sudo docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Mediante el comando sudo docker ps
podemos ver que está en funcionamiento:
Y si has llegado hasta aquí, ahora sí, puedes ir al a tu navegador web y poner la dirección: localhost:8080 aquí:
Crearemos una cuenta y ya podremos disfrutar de "correr" nuestro propio modelo de IA en nuestro PC con toda la privacidad que ello conlleva:
En la imagen salen otros modelos que debido a las pruebas realizado ya he instalado
Nos dirijimos a esta sección : Panel de administración
Aquí debemos tener la siguiente configuración, en la que le indicamos la BASE_URL de OLLAMA:
Para instalar más modelos únicamente basta con ir a modelos y seleccionar el que mejor se adapte a nuestra máquina. Lo puedes ver de forma más gráfica aquí, hay que fijarse en el nombre exacto para que pueda ser instalado:
Selecciona el modelo en el chat para poder utilizarlo:
Nos permitirá crear todo tipo de imágenes introduciendo el prompt que queramos
Comenzaremos con la parte de requisitos de instalación, por ello ejecutaremos el siguiente comando:
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev git
Instalamos Pyenv
curl https://pyenv.run | bash
Establecemos la path necesaria
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
Recargamos la consola, ya que hemos establecido el path
cd ~
source .bashrc
El comando pyenv -h
ya debería de funcionar.
Instalamos python 3.10 + lo ponemos global
pyenv install 3.10
pyenv global 3.10
Ya tenemos los prerequisitos y ahora nos falta instalar stable diffusion:
mkdir stablediffusion
cd stablediffusion
Descargamos de Automatic1111 el instalador
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
Ponemos el permiso de ejecución y lo ejecutamos:
chmod +x webui.sh
./webui.sh --listen --api
Desde la la dirección locahost:7860 ya os dejará probarlo:
He llegado hasta aquí y quiero añadir stable diffusion a open-webui
vamos a ello:
Primero vamos a esta sección de open-webui:
y después añadir lo siguiente:
Para finalizar, se usa de la siguiente manera, le pedimos que genere una imagen de X cosa y en la parte inferior seleccionaremos:
Una vez que he probado con totalidad el sistema, te dejo por aquí una tabla resumen con algunas ventajas e inconvenientes para tener en cuenta, para mi la principal ventaja que tiene es la privacidad que tiene respecto a servicios contratados y que en una misma conversación utilizando el símbolo de @
permite mencionar a otros modelos que tengas instalados.
Ventajas | Inconvenientes |
---|---|
Control total sobre la configuración de tu IA. | Requiere conocimientos técnicos avanzados. |
No dependes de servicios en la nube. | Puede consumir muchos recursos del sistema. |
Personalización según tus necesidades. | Configuración inicial puede ser compleja y lenta. |
Ahorro en costes de uso de servicios externos. | No es viable sin hardware compatible (GPU potente). |