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
Publicar un comentario