Ir al contenido principal

Guía: Configurar Servidor de Modelos GGUF con Docker

Guía: Configurar Servidor de Modelos GGUF con Docker

Esta guía muestra cómo configurar un servidor de modelos GGUF en Docker usando modelos locales existentes en /opt/llama-app/models.

Estructura de Directorios

Tienes los modelos en /opt/llama-app/models:

/opt/llama-app/models/
├── granite-4.0-h-tiny-Q5_K_M.gguf
├── granite-4.0-h-tiny-Q6_K.gguf
└── llama-3.2-3b-instruct-q4_0.gguf

Configuración Docker Compose

Crea el directorio para la configuración del servidor:

mkdir -p /opt/llama-server
cd /opt/llama-server

Crea el archivo docker-compose.yml:

services:
  llm-server:
    image: ghcr.io/ggml-org/llama.cpp:server
    container_name: llm-server
    ports:
      - "8600:8600"
    volumes:
      - /opt/llama-app/models:/models
    command: >
      -m /models/granite-4.0-h-tiny-Q5_K_M.gguf
      --host 0.0.0.0
      --port 8600
      --ctx-size 4096
      --threads 4
      --n-gpu-layers 0
El volumen monta la carpeta local de modelos en el contenedor, permitiendo acceder a todos los modelos disponibles.

Ejecutar el Servidor

cd /opt/llama-server
docker compose up -d

Verificar Estado

docker ps
docker compose logs

Probar el Servidor

curl http://localhost:8600/completion \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Hola, ¿puedes explicarme qué es la inteligencia artificial?",
    "n_predict": 128,
    "temperature": 0.7
  }'
Si recibes una respuesta JSON con texto generado, el servidor está funcionando correctamente.

Cambiar de Modelo

Para usar un modelo diferente, edita el archivo docker-compose.yml:

command: >
  -m /models/llama-3.2-3b-instruct-q4_0.gguf
  --host 0.0.0.0
  --port 8600
  --ctx-size 4096
  --threads 4
  --n-gpu-layers 0

Reinicia el contenedor:

docker compose down
docker compose up -d

Comandos de Gestión

Ver logs en tiempo real:

docker compose logs -f

Detener el servidor:

docker compose down

Listar modelos disponibles:

ls -la /opt/llama-app/models/

Agregar Nuevos Modelos

Para agregar más modelos:

cd /opt/llama-app/models
wget [URL_DEL_MODELO] -O [nombre-del-modelo.gguf]
Asegúrate de tener suficiente espacio en disco y memoria RAM para los modelos adicionales.

Parámetros Configurables

  • --ctx-size: Tamaño de contexto (aumentar para conversaciones más largas)
  • --threads: Número de hilos CPU (ajustar según tu procesador)
  • --n-gpu-layers: Capas para GPU (0 para solo CPU, aumentar si tienes GPU)
  • --batch-size: Tamaño de lote para procesamiento
Esta configuración permite cambiar fácilmente entre modelos editando el docker-compose.yml y reiniciando el contenedor.

Comentarios