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

Entradas populares de este blog

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...

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 ...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...