En este post vamos a instalar DeepSeek usando docker y aprovechando la gráfica nvidia.
¿Por qué usando contenedores? Por que no soy cochino instalando cosas que no sé qué haran en mi sistema y no tengo tiempo de ponerme a leer el script de instalación.
Aquí te dejo el video para que veas cómo lo realizo:
## Pre requisitos
Instala los pre-requisitos para usar tu tarjeta gríafica:
libnvidia-container nvidia-container-toolkit
## Configuración de Pre requisitos
Para que el contenedor pueda acceder al GPU tenemos que configurar nvidia-container-toolkit y docker:
editamos el archivo /etc/nvidia-container-runtime/config.toml y agregamos la siguiente línea:
```bash
no-cgroups = true
```
Ejecutamos los siguientes comandos:
```bash
$ sudo nvidia-ctk runtime configure --runtime=docker
$ sudo systemctl restart docker
```
Nota: a open-webui lo llamaré solamente webui
Vamos a crear dos carpetas en nuestro directorio de trabajo:
```bash
$ mkdir ollama
$ mkdir webui
```
Dentro de estas carpetas guardaremos los datos de ollama y webui respectivamente.
Ahora iniciamos el contenedor de ollama:
```bash
$ docker network create net-ollama
$ docker run -d --network net-ollama --gpus=all -p 11434:11434 -v ./ollama:/root/.ollama --name=ollama ollama/ollama
$ docker run -d --network net-ollama --name webui -p 3000:8080 -v ./webui:/app/backend/data -e OLLAMA_BASE_URL=http://ollama:11434 --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:cuda
```
Lo que hacemos es crear una red para que los contenedores puedan comunicarse entre ellos y aislarlos del resto de contenedores que tengamos en nuestra máquina.
Si bien puedes instalar open-webui y desde ahí instalar los modelos, prefiero trabajarlos de forma independiente.
## Instalación de DeepSeek
Para instalar DeepSeek en el contenedor de ollama:
```bash
$ docker exec -it ollama ollama run deepseek-r1:7b
```
Esto tomará un tiempo dependiendo del ancho de banda que tengas, ya que descargará el modelo DeepSeek de 7b.

Nota: Si tu computadora cuenta con recursos limitados puedes elegir modelos más pequeños:
1.5b: Uso mínimo de recursos.
7b: Rendimiento y requisitos de recursos equilibrados.
8b, 14b, 32b: Opciones intermedias para un rendimiento más alto.
El tamaño de descarga para estos modelos varía:
1.5b: ~2.3GB
7b: ~4.7GB
70b: ~40GB+
La lista completa está [aquí](https://ollama.com/library/deepseek-r1)
Listo tenemos instalado DeepSeek en nuestro contenedor de ollama, puedes empezar a hacer las preguntas que quieras.
# Interacción con DeepSeek
Ahora con tu navegador entra a la ruta http://localhost:3000 rellena los campos que se te solicitan, con esto podrás empezar a hacer preguntas a DeepSeek.
Así se verá la interfaz y arriba estará seleccionado el modelo de deepseek que instalaste:

## Bonus
Aquí te dejo un docker-compose.yaml por si quieres hacer todo de una sola vez:
```yaml
services:
webui:
image: ghcr.io/open-webui/open-webui:cuda
container_name: webui
ports:
- 3000:8080
volumes:
- ./webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- ollama
ollama:
image: ollama/ollama
container_name: ollama
expose:
- 11434/tcp
ports:
- 11434:11434/tcp
healthcheck:
test: ollama --version || exit 1
volumes:
- ./ollama:/root/.ollama
```
Nota: Solo recuerda que después de ejecutar el docker-compose.yaml tienes que ejecutar el comando para instalar DeepSeek:
```bash
$ docker exec -it ollama ollama run deepseek-r1:7b
```
No hay comentarios.:
Publicar un comentario