Casi todos los agentes de IA se apoyan en una API de pago; Hermes 3 demuestra que un modelo abierto que ejecutas tú mismo también sabe usar herramientas. Es la familia de modelos de Nous Research afinada sobre Llama 3.1, pensada como un generalista con alineación neutra y buen manejo de llamadas a funciones. En esta guía verás qué es Hermes 3, cómo llama a herramientas, cómo ejecutarlo en tu propia máquina con Ollama o vLLM, cuál es su formato de tool calling y en qué se distingue de los modelos base de Llama. La misma explicación está disponible en inglés.

Puntos clave

  • Hermes 3 es la familia de modelos open-weight de Nous Research, afinada sobre Llama 3.1 en tamaños de 8B, 70B y 405B (Ollama ofrece además una variante de 3B).
  • Su informe técnico se publicó el 15 de agosto de 2024 (arXiv 2408.11857) y describe la versión mayor, Hermes 3 405B, como líder entre los modelos abiertos en varios test públicos.
  • Está pensado para usar herramientas: define las funciones en un esquema JSON y el modelo responde con una llamada envuelta en etiquetas tool_call, un formato compatible con Ollama y vLLM.
  • Lo ejecutas en tu propia máquina sin API de pago: ollama run hermes3 descarga la versión de 8B (4,7 GB) y la sirve con la ventana de contexto de 128K tokens.
  • Es un buen motor para construir agentes de IA locales; su sucesor, Hermes 4, llegó en agosto de 2025, pero la línea 3 sigue siendo una opción ligera y estable.

¿Qué es Nous Hermes 3?

Hermes 3 es un modelo de lenguaje generalista creado por Nous Research, un colectivo conocido por sus modelos abiertos y su enfoque en la ausencia de censura. No es un modelo entrenado desde cero: parte de los pesos base de Llama 3.1 de Meta y les aplica un afinado de instrucción propio, con datos centrados en razonamiento, conversación multivuelta, roleplay y, sobre todo, uso de herramientas.

El informe técnico, firmado por Ryan Teknium, Jeffrey Quesnelle y Chen Guang, salió el 15 de agosto de 2024. Lo define como "un modelo generalista de instrucción y uso de herramientas, con alineación neutra y fuertes capacidades de razonamiento y creatividad", y añade que "su versión mayor, Hermes 3 405B, alcanza el mejor rendimiento entre los modelos open-weight en varios test públicos". Esa alineación neutra es clave: en lugar de rechazar peticiones por su cuenta, Hermes 3 obedece al mensaje de sistema, lo que lo hace muy dirigible para tareas de agente.

La familia se publica en tres tamaños (8B, 70B y 405B), todos con una ventana de contexto de 128K tokens. La variante de 8B es la más descargada con diferencia: su ficha en Hugging Face ronda las 398.000 descargas al mes, señal de que mucha gente la usa como caballo de batalla local por su equilibrio entre calidad y coste.

¿Cómo usa herramientas y hace llamadas a funciones?

El uso de herramientas es lo que convierte un modelo de chat en el cerebro de un agente. La mecánica es sencilla: tú describes las funciones que el modelo puede invocar (nombre, descripción y parámetros) y él decide cuándo llamarlas. Cuando lo hace, no ejecuta nada por sí mismo; genera un texto estructurado que tu código interpreta, ejecuta la función real y le devuelve el resultado para que continúe el razonamiento.

Hermes 3 fue entrenado explícitamente para este bucle, y por eso encaja bien en frameworks de agentes. La ficha de Hugging Face resume su rendimiento como "competitivo, si no superior, al de los modelos Llama 3.1 Instruct" de Meta, con métricas del 8B como 61,70 en IFEval (seguimiento de instrucciones, 0-shot) y 23,77 en MMLU-PRO (5-shot). Para un agente, más que el conocimiento importa la fiabilidad al emitir una llamada bien formada, y ahí Hermes 3 rinde por encima de su tamaño.

La ventaja frente a una API cerrada es doble: no pagas por token y controlas el modelo entero. La contrapartida es que tú montas la infraestructura, algo asumible si ya ejecutas modelos con Ollama en tu propia máquina.

¿Cómo ejecutar Hermes 3 en tu propia máquina con Ollama o vLLM?

Hay dos caminos según lo que busques. Para probarlo rápido en un portátil, Ollama es lo más cómodo: descarga una versión cuantizada y la sirve con un solo comando. Conviene ampliar la ventana de contexto, porque el valor por defecto de 4.096 tokens se queda corto para un agente que arrastra herramientas y resultados en cada turno.

ollama run hermes3            # descargar y ejecutar Hermes 3 8B (4,7 GB)

ollama run hermes3 --parameter num_ctx 32768   # ampliar el contexto

Para producción o para exprimir una GPU, vLLM ofrece un servidor con API compatible con OpenAI y un parser de herramientas específico para el formato de Hermes. Es la vía recomendada si vas a servir el modelo con alta concurrencia:

pip install vllm

vllm serve NousResearch/Hermes-3-Llama-3.1-8B \
  --port 8000 \
  --enable-auto-tool-choice \
  --tool-call-parser hermes

Los indicadores --enable-auto-tool-choice y --tool-call-parser hermes son los que activan el reconocimiento de las llamadas a herramientas. En Ollama ese parser ya viene activado para los modelos compatibles, así que no necesitas indicadores extra. También puedes servirlo con SGLang o con llama.cpp (con el indicador --jinja), y existen cuantizaciones GGUF listas para LM Studio.

¿Cómo es el formato de tool calling de Hermes?

El "formato Hermes" es una convención concreta sobre la plantilla ChatML (turnos delimitados por <|im_start|> y <|im_end|>). Primero, en el mensaje de sistema declaras las herramientas como esquemas JSON dentro de una etiqueta <tools>. Cuando el modelo decide usar una, responde con un bloque <tool_call> que contiene el nombre y los argumentos en JSON. Tú ejecutas la función y le devuelves lo obtenido dentro de una etiqueta <tool_response>. El intercambio se ve así:

Sistema:  Eres un asistente con herramientas.
          <tools>[{"name": "get_clima",
          "parameters": {"ciudad": "string"}}]</tools>

Usuario:  ¿Qué tiempo hace en Madrid?

Modelo:   <tool_call>{"name": "get_clima",
          "arguments": {"ciudad": "Madrid"}}</tool_call>

Herram.:  <tool_response>{"temp": 22, "cielo": "despejado"}</tool_response>

Modelo:   En Madrid hace 22 grados y está despejado.

Este formato es importante porque los parsers de Ollama y vLLM lo entienden de fábrica: no tienes que analizar el texto a mano. Si usas un framework de agentes que hable la API de tipo OpenAI, las llamadas a funciones se traducen a este formato de forma transparente, y recuperas la respuesta como un objeto de herramienta ya estructurado.

¿En qué se diferencia de los modelos base de Llama?

Hermes 3 y Llama 3.1 comparten los mismos pesos base, así que la diferencia está en el afinado. Meta publica Llama 3.1 Instruct con su propia capa de alineación y de rechazos; Nous Research parte de los pesos base y aplica un afinado con alineación neutra, orientado a obedecer el mensaje de sistema y a dominar su formato de tool calling. En la práctica, Hermes 3 resulta más dirigible y, según su ficha, iguala o supera a Llama 3.1 Instruct en varios test.

Aspecto Hermes 3 (Nous) Llama 3.1 Instruct (Meta)
Punto de partida Pesos base de Llama 3.1 Pesos base de Llama 3.1
Alineación Neutra, obedece al sistema Rechazos y guardas de Meta
Tool calling Formato Hermes nativo Formato de plantilla de Llama
Enfoque Agente, roleplay, razonamiento Asistente de propósito general

La elección depende del caso. Si quieres un modelo dócil que siga tus instrucciones al pie de la letra y encaje en un bucle de agente, Hermes 3 brilla. Si prefieres las garantías de seguridad de fábrica de Meta, Llama 3.1 Instruct es la opción por defecto. Conviene recordar que en agosto de 2025 Nous publicó Hermes 4 (14B, 70B y 405B), que añade razonamiento explícito con etiquetas <think>; aun así, la línea 3 sigue siendo más ligera para tareas puramente de herramientas.

Preguntas frecuentes

¿Hermes 3 es gratis y de uso comercial?

Los pesos de Hermes 3 son abiertos y se descargan libremente desde Hugging Face, pero heredan la licencia de la comunidad de Llama 3.1 de Meta, no una licencia totalmente libre. Esa licencia permite el uso comercial con condiciones (por ejemplo, atribución y un límite de usuarios mensuales muy alto que casi ningún proyecto alcanza). Revisa siempre los términos antes de desplegarlo en producción.

¿Qué tamaño de Hermes 3 necesito?

Depende de tu hardware. La versión de 8B corre en una GPU de gama media o incluso en CPU con cuantización, y basta para muchos agentes con herramientas. La de 70B exige bastante VRAM pero mejora el razonamiento, y la de 405B es para infraestructura seria. Para empezar y prototipar, la de 8B con Ollama es la opción sensata.

¿Puedo usar Hermes 3 con frameworks de agentes como LangChain?

Sí. Como vLLM expone una API compatible con OpenAI, cualquier framework que hable ese protocolo (LangChain, LlamaIndex, el SDK de agentes de OpenAI a través de LiteLLM, entre otros) puede apuntar al servidor local y usar Hermes 3 como modelo. Solo tienes que cambiar la URL base y el nombre del modelo; las llamadas a herramientas se traducen al formato Hermes por debajo.

Conclusión

Nous Hermes 3 es una de las formas más accesibles de tener un modelo agéntico que ejecutas y controlas tú mismo: parte de Llama 3.1, añade una alineación neutra muy dirigible y un formato de tool calling que Ollama y vLLM entienden sin esfuerzo. Si ya trabajas con modelos abiertos, el siguiente paso es descargar la versión de 8B, declararle un par de herramientas y montar tu primer bucle de agente. Desde ahí puedes escalar a 70B o pasar a Hermes 4 cuando necesites razonamiento explícito.

Fuentes: [1] Hermes 3, ficha del modelo 8B en Hugging Face[1], [2] Informe técnico de Hermes 3 en arXiv[2], [3] Nous Research, página de lanzamientos[3], [4] Hermes 3 en la biblioteca de Ollama[4].

Fuentes

  1. Hermes 3, ficha del modelo 8B en Hugging Face
  2. Informe técnico de Hermes 3 en arXiv
  3. Nous Research, página de lanzamientos
  4. Hermes 3 en la biblioteca de Ollama

Ruta: Modelos agénticos self-hosted y tool calling