Tutoriales

Construye Ollama con Docker [With NVIDIA GPU]

Ollama ha sido un cambio de juego que ejecuta modelos de idiomas grandes (LLM) localmente, y cubrí muchos tutoriales para configurarlo en diferentes dispositivos, incluida mi Raspberry Pi.

Sin embargo, mientras seguí experimentando, me di cuenta de que había otra manera maravillosa de dirigir Ollama: dentro del contenedor Docker.

Ahora, esta no es una noticia total. La primera Imágenes de Ollama Docker Lanzamiento en 2023. Pero hasta hace poco, lo he estado usando con mi instalación nativa.

Hasta que trabajé inmacha Tutorial con el que me topé Kit de herramientas de contenedor nvidiaEsto le permite agregar soporte de GPU en su contenedor Docker.

En ese momento, me fascinó la idea de establecer Ollama dentro de Docker y aprovechar la aceleración de GPU.

En esta guía, apoyaré dos formas de ejecutar Ollama en Docker a través de GPU:

  1. Use un forro docker run Orden.
  2. Compuesto con Docker

Ahora, vamos a sumergirnos.

📋

Antes de comenzar, si aún no ha instalado Docker, consulte nuestro tutorial anterior sobre la configuración de Docker en Linux.

El kit de herramientas de contenedor NVIDIA incluye el tiempo de ejecución del contenedor NVIDIA para Docker y el complemento NVIDIA Container Toolkit que habilita el soporte de GPU en los contenedores Docker.

Antes de instalar, asegúrese de haber instalado los controladores de GPU en una distribución específica.

Ahora, para instalar el kit de contenedores NVIDIA, siga estos pasos:

  1. Ejecutando el siguiente comando en la ventana del terminal:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L  | sudo apt-key add -
curl -s -L  | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update
Agregar repositorio de nvidia-continer-toolkit
Si su controlador NVIDIA GPU no está instalado correctamente, es posible que tenga algunos problemas al instalar NVIDIA-Conseiner-Toolkit en su sistema, al igual que lo hice en Debian 12.
  1. Instale el kit de herramientas de contenedor nvidia ejecutando el siguiente comando en la ventana del terminal:
sudo apt install -y nvidia-container-toolkit
Instalar nvidia-continer-toolkit usando apt
  1. Reinicie el servicio Docker para aplicar los cambios:
sudo systemctl restart docker

Método 1: Ejecutar Ollama con Docker Run (método rápido)

Si solo desea rotar Ollama en un contenedor sin mucha molestia, esta sola línea resolverá el problema:

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

O, si necesita soporte de GPU:

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

Aquí hay un desglose de lo que está sucediendo con este comando:

  • docker run -d: Ejecute contenedores en modo independiente.
  • --name ollama: Nombre el contenedor «Ollama».
  • -p 11434:11434: Mapa del puerto 11434 del contenedor al host.
  • -v ollama:/root/.ollama: Cree un volumen persistente para el modelo de almacenamiento.
  • ollama/ollama: Use la imagen oficial de Ollama Docker.
Ejecute Ollama sin Nvidia-Conseiner-Toolkit usando Docker Run Method

Después de que el contenedor se está ejecutando, puede verificar su estado por:

docker ps

Método 2: Ejecute Ollama con Docker

Yo personalmente encontré Composición de Docker Es un enfoque más estructurado al configurar los servicios dentro de un contenedor porque es más fácil de administrar.

💡

Si está configurando Ollama con Open Webui, le recomiendo usar docker volumes En cambio bind mounts Para obtener una experiencia menos frustrante.

Crearemos un docker-compose.yml Archivos, administrar contenedores Ollama:

version: '3.8'

services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

volumes:
  ollama:
Docker y Nvidia-Conseiner-Toolkit constituyen la pila Ollama

y docker-compose.yml En su lugar, inicie el contenedor utilizando los siguientes métodos:

docker-compose up -d
Ejecute contenedores usando el comando Combo Docker

Esto permitirá la rotación de aceleración de GPU de Ollama.

Acceder a Ollama en Docker

Ahora que ejecutamos Ollama en un contenedor Docker, ¿cómo interactuamos con él de manera eficiente?

Hay dos métodos principales:

1. Usando Docker Shell

Es realmente fácil, puedes escribir:

docker exec -it ollama 
Acceder al shell Ollama usando el comando Docker Exec

Sin embargo, escribir el mismo comando horas extras puede ser agotador. Podemos crear un Alias Hazlo corto.

Agréguelo a su .bashrc documento:

echo 'alias ollama="docker exec -it ollama ollama"' >> $HOME/.bashrc
source $HOME/.bashrc

Y estoy usando zsh Shell, usaré este comando:

echo 'alias ollama="docker exec -it ollama ollama"' >> $HOME/.zshrc

Ahora, en lugar de entrar en completo docker exec Comandos, puede ejecutar:

ollama ps
ollama pull llama3
ollama run llama3
Establezca el alias para el comando Docker Exec

Esto hace que la interacción con Ollama en Docker, como usar la instalación nativa.

2. Usar la API de Ollama con el cliente web de interfaz de usuario

Ollama expuso uno API existir http://localhost:11434permitiendo que otras herramientas se conecten e interactúen con ella.

Si prefiere las interfaces gráficas de usuario (GUI) en lugar de las líneas de comando, puede usar múltiples clientes de la interfaz de usuario web.

Algunas herramientas populares utilizadas con Ollama incluyen:

  • Abrir webui – Simple y hermoso front -end para LLM local.
  • Librechat – Una poderosa interfaz similar a ChatGPT que admite múltiples backends.

De hecho, cubrimos 12 herramientas diferentes que proporcionan una interfaz de usuario de red para Ollama.

Ya sea que desee algo liviano o una alternativa completamente funcional, hay una interfaz de usuario que se adapta a sus necesidades.

en conclusión

Ejecutar Ollama en Docker proporciona una forma flexible y eficiente de interactuar con los modelos de IA nativos, especialmente cuando se combina con la interfaz de usuario para facilitar el acceso a la red.

Todavía estoy ajustando la configuración para garantizar un rendimiento sin problemas en múltiples dispositivos, pero hasta ahora funciona bien.

Por otro lado, cavar en el kit de herramientas de contenedores Nvidia ha provocado algunas ideas interesantes. La capacidad de pasar un acelerador GPU a un contenedor Docker proporciona posibilidades de ir más allá de Ollama.

Estoy considerando usar gelatina Para la codificación de conversión acelerada por hardware, esta sería una gran mejora en la configuración de mi servidor de medios.

Otros proyectos, como la difusión estable o las actualizaciones con IA, también pueden beneficiarse de los pases de GPU adecuados.

Dicho esto, ¡me encantaría escuchar tu configuración! ¿Ejecuta Ollama en Docker o prefiere la instalación nativa? ¿Has probado algún cliente de interfaz de usuario web o te has quedado con la línea de comandos?

Elimina tus pensamientos en los comentarios a continuación.

LEER  Revisión de Linux Lite 5.2 en español

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba