Ir al contenido principal

Instala y ejecuta Meta-LLaMA-3-8B-Instruct en Docker de manera manual o automática

Guía completa: Levantar Meta-LLaMA-3-8B-Instruct Server en Docker paso a paso

Este post explica cómo instalar y correr Meta-LLaMA-3-8B-Instruct usando Docker siguiendo la documentación oficial. Se presentan dos formas de manejar la descarga del modelo.

1️⃣ Prerrequisitos

  • Docker instalado y corriendo en tu sistema.
  • Al menos 16–32 GB de RAM según modelo.
  • Crear carpeta para modelos:
mkdir -p /home/docker/llama3-server/models
cd /home/docker/llama3-server

2️⃣ Opciones para descargar y usar el modelo

Opción A – Descargar el modelo fuera del contenedor (recomendado)

1. Descargar el modelo directamente en la carpeta models:

cd /home/docker/llama3-server/models
wget https://huggingface.co/QuantFactory/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct.Q4_K_M.gguf

2. Crear docker-compose.yml:

services:
  llama-server:
    image: ghcr.io/ggml-org/llama.cpp:server
    container_name: llama3-server
    ports:
      - "8600:8600"
    volumes:
      - ./models:/models
    command: >
      -m /models/Meta-Llama-3-8B-Instruct.Q4_K_M.gguf
      --host 0.0.0.0
      --port 8600
      --ctx-size 4096
      --threads 4
      --n-gpu-layers 0

3. Levantar el contenedor:

docker-compose up -d

4. Probar el servidor:

curl http://localhost:8600/completion \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Hola, ¿cómo estás?", "n_predict": 128}'

Opción B – Descargar el modelo dentro del contenedor usando un Dockerfile

1. Crear Dockerfile en /home/docker/llama3-server:

FROM ghcr.io/ggml-org/llama.cpp:server

WORKDIR /models

# Descargar el modelo durante el build
RUN wget -O Meta-Llama-3-8B-Instruct.Q4_K_M.gguf \
  https://huggingface.co/QuantFactory/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct.Q4_K_M.gguf

2. Modificar docker-compose.yml para que use el build:

services:
  llama-server:
    build: .
    container_name: llama3-server
    ports:
      - "8600:8600"
    volumes:
      - ./models:/models
    command: >
      -m /models/Meta-Llama-3-8B-Instruct.Q4_K_M.gguf
      --host 0.0.0.0
      --port 8600
      --ctx-size 4096
      --threads 4
      --n-gpu-layers 0

3. Construir la imagen y levantar el contenedor:

docker-compose build
docker-compose up -d

4. Probar el servidor con el mismo curl que en la opción A.

3️⃣ Referencias útiles

Consejo: La opción A mantiene tu contenedor más liviano y te permite actualizar modelos sin reconstruir la imagen. La opción B automatiza todo pero obliga a reconstruir si cambia el modelo.

Comentarios

Entradas populares de este blog

Instalar Evolution API en Docker con Redis y PostgreSQL Local

Instalar Evolution API en Docker con Redis y PostgreSQL Local En este tutorial vamos a levantar Evolution API usando Docker , con soporte de Redis para sesiones y PostgreSQL local para almacenar datos de manera persistente y compartida entre varios usuarios. 1. Estructura del proyecto Crea una carpeta para tu proyecto y colócate en ella: mkdir -p ~/docker/evolution-api cd ~/docker/evolution-api 2. Archivo docker-compose.yml Este compose levanta Redis y Evolution API : version: "3.9" services: # ✅ SERVICIO REDIS redis: container_name: evolution_redis image: redis:7-alpine restart: unless-stopped ports: - "6379:6379" volumes: - redis_data:/data command: redis-server --save 60 1 --loglevel warning # ✅ SERVICIO EVOLUTION API evolution-api: container_name: evolution_api image: atendai/evolution-api restart: unless-stopped ports: - "8085:8080" env_file: - .env ...

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Tutorial: n8n con Docker Compose en Linux

Tutorial Completo: Instalar y correr n8n en Linux con Docker Compose Este tutorial te guiará paso a paso para instalar y ejecutar n8n usando Docker Compose en un sistema Linux (como Ubuntu), con buenas prácticas y configuraciones recomendadas. --- 1. Actualizar el sistema Es buena práctica empezar actualizando los paquetes y sistema: Copiar sudo apt update sudo apt upgrade -y --- 2. Instalar dependencias necesarias para Docker Copiar sudo apt install -y ca-certificates curl gnupg lsb-release --- 3. Agregar repositorio oficial de Docker Copiar sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update --- 4. ...