Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Ollama con Llama 3.2 en Docker

Tiempo de lectura: 2 minutos

Hoy vamos a ejecutar el nuevo modelo de llama 3.2 en Docker utilizando Ollama.

Llama - Pexels

Lo primero que haremos es crear este docker-compose.yml

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
services:
ollama:
image: ollama/ollama
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ./models:/root/.ollama # Montar carpeta local en el contenedor
services: ollama: image: ollama/ollama container_name: ollama restart: unless-stopped ports: - "11434:11434" volumes: - ./models:/root/.ollama # Montar carpeta local en el contenedor
services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    restart: unless-stopped
    ports:
      - "11434:11434"
    volumes:
      - ./models:/root/.ollama  # Montar carpeta local en el contenedor

Vamos a utilizar el puerto por defecto 11434.

Ahora tendremos que lanzar el comando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker compose up -d
docker compose up -d
docker compose up -d

Y tendremos desplegado ollama en el contenedor Docker.

Ahora para descargar y ejecutar el modelo llama 3.2 usaremos el siguiente comando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker exec -it ollama ollama run llama3.2:1b
docker exec -it ollama ollama run llama3.2:1b
docker exec -it ollama ollama run llama3.2:1b

Una vez descargado ya podemos usarlo, el modelo 1b es el modelo más libiano de llama 3.2 y nos permite ejecutarlo con 2GB de RAM y sin uso de GPU.

Aquí podemos ver los modelos disponibles: https://ollama.com/library

También tenemos otras opciones como por ejemplo, podemos habilitar el uso de GPU con Docker:

Primero tenemos que instalar NVIDIA Container Toolkit: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation

O también con AMD. https://hub.docker.com/r/ollama/ollama

*Más adelante crearé otro tutorial explicando los modelos más avanzados que comparten GPU.

Comandos:

Ejecutar llama:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ollama run llama3.2:1b
ollama run llama3.2:1b
ollama run llama3.2:1b

Documentación de la API: https://github.com/ollama/ollama/blob/main/docs/api.md

Lanzar una pregunta:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:1b",
"stream": false,
"prompt": "Hola, quién eres?"
}'
curl http://localhost:11434/api/generate -d '{ "model": "llama3.2:1b", "stream": false, "prompt": "Hola, quién eres?" }'
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2:1b",
  "stream": false,
  "prompt": "Hola, quién eres?"
}'

Si quieres añadir autenticación aquí te explico cómo:

https://devcodelight.com/anadir-autenticacion-en-nginx-proxy-manager-para-tus-dominios

Si necesitas acceso a la GPU mediante Docker: https://devcodelight.com/anadir-gpu-en-docker-para-ollama-u-otros-servicios/

Y si quieres mostrar el chat mediante una interfaz web: https://devcodelight.com/mostrar-una-interfaz-web-de-chat-usando-open-webui-para-llama-3-2-o-cualquier-modelo-compatible-con-ollama-usando-docker-compose/

0

2 comentarios en «Ollama con Llama 3.2 en Docker»

Deja un comentario