Hermes Agent + oMLX: Inferencia local en Apple Silicon
Cuando buscas privacidad absoluta al construir tus herramientas y automatizaciones agénticas, la respuesta siempre es correr todo en tu propia máquina. Sin embargo, en macOS, levantar un agente de IA y conectarlo a un modelo local suele traducirse en dos problemas: o el modelo responde de forma desesperantemente lenta, o devora toda la memoria unificada y tu Mac se congele. Como vimos en nuestra guía de hardware y modelos para LLMs locales, correr modelos de gran escala exige un balance fino de memoria.
La solución requiere un matrimonio arquitectónico perfecto.
Hoy te quiero enseñar cómo configurar Hermes Agent con oMLX, combinando el mejor plano de control agéntico con el servidor de inferencia nativo más rápido y eficiente para los procesadores Apple Silicon.
El Plano de Control se une al Plano de Inferencia
Como analizamos en nuestra guía de las 4 capas de la IA local, un agente autónomo no debe cargar los pesos del modelo por su cuenta. Necesita un servidor especializado que le sirva las respuestas.
Para un desarrollador en macOS, la combinación de Hermes Agent y oMLX es el estándar de oro actual:
- Hermes Agent como Plano de Control: Aporta el bucle de auto-aprendizaje, la persistencia de conversaciones en SQLite, la ejecución de herramientas seguras en contenedores y las integraciones multicanal (Telegram, Notion, Slack).
- oMLX como Plano de Inferencia: Aporta velocidad bruta de generación Metal-accelerated, continuous batching (para procesar llamadas concurrentes de múltiples sub-agentes) y un sistema de caché de contexto optimizado.
Al estar desacoplados, tu agente interactúa con oMLX de forma transparente utilizando la API estándar compatible con OpenAI.
Paso 1: Levantar el Servidor oMLX en macOS
oMLX requiere Apple Silicon (M1 o posterior) y macOS 15+. Puedes instalar la cómoda aplicación de barra de menú notarizada o levantar el servidor de consola desde el repositorio oficial de oMLX clonado.
Para inicializar oMLX en producción local con soporte de caché SSD y concurrencia optimizada, ejecuta el siguiente comando en tu terminal:
omlx serve \
--model-dir ~/models \
--paged-ssd-cache-dir ~/.omlx/cache \
--hot-cache-max-size 20% \
--max-concurrent-requests 8 \
--api-key local-dev-key
Este servidor arrancará de forma local en http://127.0.0.1:8000/v1 y expondrá tu modelo (por ejemplo, Mistral-7B-Instruct-MLX-4bit) listo para ser consumido.
Paso 2: Configurar Hermes Agent para apuntar a oMLX
Para conectar Hermes a tu servidor oMLX, puedes usar el asistente interactivo ejecutando hermes model en tu consola y seleccionando la opción Custom endpoint.
O si lo prefieres, puedes editar directamente tu archivo de configuración en ~/.hermes/config.yaml:
model:
default: Mistral-7B-Instruct-MLX-4bit
provider: custom
base_url: http://127.0.0.1:8000/v1
context_length: 128000
custom_providers:
- name: local-omlx
base_url: http://127.0.0.1:8000/v1
models:
Mistral-7B-Instruct-MLX-4bit:
context_length: 128000
terminal:
backend: local
timeout: 180
Configuración de seguridad ante pre-procesamientos largos:
Cuando utilizas contextos masivos de código en local, el servidor de inferencia puede tomarse algunos minutos para procesar todo el prompt inicial (fase de prefill).
Para evitar que Hermes corte la conexión por timeout mientras oMLX está procesando el contexto largo, asegúrate de configurar estas variables en tu archivo ~/.hermes/.env:
HERMES_STREAM_READ_TIMEOUT=1800
HERMES_API_TIMEOUT=1800
Este nivel de sintonía fina técnica es el que te permite correr flujos de trabajo profesionales sin caídas de red, y es el estándar de infraestructura que enseñamos en profundidad tanto en el curso de Construye con IA como en el nuevo curso de Hermes Agent.
Conclusión: Privacidad real a la velocidad del silicio
Al orquestar tus tareas autónomas con Hermes Agent y procesar toda la inferencia local con oMLX bajo la GPU de tu Mac, consigues una soberanía de datos absoluta. Tus contraseñas, código propietario y conversaciones nunca viajan a servidores de terceros, y disfrutas de la máxima aceleración de hardware que Apple Silicon puede ofrecer.
Si quieres compartir tus configuraciones de hardware locales y ver cómo conectamos estos agentes locales a integraciones web de producción, te espero en Dominicode Labs.
Preguntas Frecuentes (FAQ)
¿Por qué la combinación Hermes + oMLX es más rápida que usar Ollama en Mac?
Ollama utiliza llama.cpp como motor por debajo, el cual es excelente en optimizar el tiempo hasta el primer token (TTFT) para chats cortos. Sin embargo, oMLX utiliza el framework nativo de Apple (MLX) que aprovecha la arquitectura de memoria unificada al máximo, ofreciendo una velocidad de generación sostenida mucho mayor en contextos largos y procesamiento de código.
¿Qué hace el parámetro –hot-cache-max-size 20% en oMLX?
Indica al servidor qué porcentaje de la memoria RAM unificada de tu Mac puede reservarse para mantener en caliente los tokens de contexto de conversaciones recientes. El resto de contextos inactivos se moverán automáticamente al disco de estado sólido (SSD) para liberar espacio físico de GPU.
¿Puedo utilizar llamadas a herramientas (Tool Calling) en local?
Sí. oMLX implementa parsers de herramientas nativos para las familias de modelos más populares (Qwen, Llama y Mistral). La condición clave es que el chat template del modelo descargado de Hugging Face sea compatible con el paso de la variable tools.
¿Cómo sé si mi Mac es compatible con esta configuración?
Requiere un ordenador Mac con procesador Apple Silicon (M1, M2, M3, M4 o sus variantes Pro/Max/Ultra) y sistema operativo macOS 15 o posterior. Se recomienda contar con un mínimo de 16GB de memoria unificada, siendo el sweet spot para modelos grandes contar con 32GB o 64GB de RAM.
Por Bezael Pérez — Developer senior con más de 15 años de experiencia y fundador de Dominicode.
