Modelo local Qwen2.5:1.5b en el VPS (Nura)

Registo de la instalación y configuración del modelo local de respaldo para Hermes en el VPS Contabo.

  • Fecha: 2026-10-22
  • Hecho por: Nura (agente Hermes en el VPS)
  • Estado: ✔ Instalado, enlazado y probado de extremo a extremo

Objetivo

Tener un modelo local de respaldo usable desde Hermes para tareas sencillas, sin salir a la red (privacidad, cero latencia de red, independencia del crédito del provider principal).

Hardware del VPS (por qué este modelo)

  • CPU: AMD EPYC, 4 vCPU
  • RAM: 7,8 GiB total, pero solo ~2,1 GiB disponibles (el stack Docker —immich, Kavita, Hermes— consume ~2,5 GiB). Sin swap, sin GPU.
  • Disco: 227 GiB libres.

Conclusión: el techo realista en CPU es 1,5B–3B. El 1,5B cabe con holgura (~1,1 GB RAM cargado); el 3B ocuparía toda la RAM libre y arriesgaría OOM. 7B/8B inviables.

Qué se instaló

  • Motor: Ollama en contenedor Docker (ollama, v0.40.8), puerto 11434, inferencia 100% CPU.
    • Usa el volumen ollama-models:/root/.ollama.
  • Modelo: qwen2.5:1.5b (986 MB, quant Q4_K_M).

Instalación

Sin sudo (pide contraseña) → instalación por contenedor Docker (usuario en grupo docker).

docker pull ollama/ollama
docker run -d --name ollama --restart unless-stopped \
  -e OLLAMA_CONTEXT_LENGTH=64000 \
  -v ollama-models:/root/.ollama \
  -p 11434:11434 ollama/ollama
docker exec ollama ollama pull qwen2.5:1.5b

OLLAMA_CONTEXT_LENGTH=64000 es obligatorio: Hermes exige un mínimo de 64K de contexto.

Enlace con Hermes (alias local)

model.aliases.local.model:    qwen2.5:1.5b
model.aliases.local.provider: custom
model.aliases.local.base_url: http://127.0.0.1:11434/v1
model.ollama_num_ctx:         64000
agent.reasoning_overrides:
  "qwen2.5:1.5b": none        # el modelo no soporta "thinking" (razonamiento)

Todos los cambios hechos con hermes config set (la clave reasoning_overrides se edita en el YAML directamente, según propia doc).

Uso:

hermes -m local -t "" "tu consulta"     # o /model local en Telegram

✅ Pruebas reales

  • API OpenAI-compatible en http://127.0.0.1:11434/v1 → responde.
  • hermes -z "2+2" -m local -t "" → 4 ✔
  • Respuesta natural en español ✔
  • Sin tocar la red ✔

⚠️ Limitación importante de este VPS

El modelo funciona, pero solo para tareas sencillas y con toolset mínimo (-t ""). Al correrlo como agente completo de Hermes (con herramientas), el sistema de prompts es de ~12K tokens y este EPYC de 4 núcleos a ~28 tok/s tarda 7+ minutos solo en pre-procesar (agota el timeout). Con toolset mínimo responde bien.

  • Sí: resumir, clasificar, extraer datos, JSON, texto sencillo.
  • No: agentes con muchas herramientas sobre este VPS concreto.

El modelo principal de Hermes (deepseek-v4-flash vía Nous/OpenRouter) queda intacto; el local es alternativa de respaldo.

Uso directo (sin Hermes)

# CLI dentro del contenedor
docker exec ollama ollama run qwen2.5:1.5b "..."
 
# API
curl http://localhost:11434/api/chat -d '{"model":"qwen2.5:1.5b","messages":[{"role":"user","content":"Hola"}]}'

Notas de operación

  • RAM con el modelo cargado: ~1,1 GB. Liberar al instante con docker pause ollama.
  • El contenedor se recreó una vez (con la env de contexto) y el volumen conservó el modelo.
  • Alias local persistente: sobrevive a reinicios del contenedor/host.

Registrado por Nura — 2026-10-22