Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

NVIDIA NeMo Fabric Hermes Agent Adapter

This adapter runs Hermes Agent through its Python SDK.

Install

Hermes Agent and this adapter require Python 3.11 through 3.13. The following table shows which components each installation provides:

Installation Runtime Adapter Harness NeMo Relay Python Package
pip install "nemo-fabric[hermes-agent]" Yes Yes Yes No
pip install "nemo-fabric[hermes-agent,relay]" Yes Yes Yes Yes
pip install "nemo-fabric-adapters-hermes[harness]" No Yes Yes No
pip install "nemo-fabric-adapters-hermes[full]" No Yes Yes Yes
pip install "nemo-fabric-adapters-hermes[relay]" No Yes No Yes
pip install nemo-fabric-adapters-hermes No Yes No No

For an environment-managed harness, use hermes-agent>=0.17.0. For split runtime and adapter environments, configure ADAPTER_PYTHON and use matching NeMo Fabric release versions. Refer to the installation guide.

Relay is optional for ordinary runs. Relay telemetry and Runtime.invoke_stream() require one of the installations in the table that includes the NeMo Relay Python package.

What It Maps

The adapter receives a normalized payload from NeMo Fabric and materializes a native Hermes Agent configuration for:

  • selected model provider, model name, base URL, and temperature through models;
  • instructions.system and runtime.max_turns;
  • workspace and explicit environment variables through environment;
  • invocation timeout through runtime.timeout_seconds;
  • NeMo Fabric skills as external skill directories for Hermes Agent;
  • NeMo Fabric MCP servers as Hermes Agent MCP server config;
  • tools.enabled and tools.blocked as Hermes-native toolset selection and blocking policy;
  • optional NeMo Relay telemetry plugin configuration.

Tool selectors are Hermes toolset names because that is the native policy surface Hermes exposes. The descriptor validates the following harness.settings fields:

Setting Type Default Description
reasoning_config object {"effort": "none"} Configures Hermes model reasoning. The closed object accepts an optional enabled boolean and an optional effort value of none, minimal, low, medium, high, or xhigh.
plugins_enabled array of nonempty strings [] Enables Hermes plugins by identifier. NeMo Fabric adds observability/nemo_relay when Relay telemetry is enabled.
save_trajectories boolean false Enables Hermes-native JSONL conversation trajectory saving. This is separate from normalized NeMo Fabric telemetry.
max_tokens positive integer 512 Limits the number of tokens in each Hermes model response.
terminal_timeout positive number 60 Limits a Hermes terminal operation in seconds.

For example:

from nemo_fabric import HarnessConfig

harness = HarnessConfig(
    adapter_id="nvidia.fabric.hermes",
    settings={
        "reasoning_config": {"enabled": True, "effort": "medium"},
        "plugins_enabled": ["disk-cleanup"],
        "save_trajectories": True,
        "max_tokens": 1024,
        "terminal_timeout": 90,
    },
)

Use runtime.max_turns to set the Hermes agent-loop budget. The adapter maps that normalized field to AIAgent.max_iterations; max_iterations is not a Hermes harness setting.

The adapter derives Hermes state from the NeMo Fabric artifact root and creates a child under runtimes/<runtime_id>, so invocations in one NeMo Fabric runtime share state without sharing config or the session database with another runtime.

Execution Model

Each NeMo Fabric runtime starts one local adapter host, constructs one Hermes Agent AIAgent, and opens one SessionDB. Ordered Runtime.invoke(...) calls reuse those native objects and pass the prior turn's returned transcript back to run_conversation(...). Runtime stop calls the agent's idempotent close() method, closes the session database, and releases the Relay plugin context when enabled.

Hermes Agent Relay telemetry is finalized after each NeMo Fabric invocation so its ATOF and ATIF artifacts are complete when that invocation returns. This telemetry boundary does not recreate the AIAgent or SessionDB.

Maintaining The Adapter

Keep fabric-adapter.json aligned with the Python implementation:

  • contract_version must match the adapter contract supported by NeMo Fabric core.
  • adapter_id is the stable id selected by harness.adapter_id.
  • adapter_kind is python because NeMo Fabric can invoke it through Python.
  • runner.module names the persistent host module that NeMo Fabric invokes with python -m.
  • requirements supplies dependency checks to NeMo Fabric diagnostics; keep required env vars, binaries, or packages current.
  • config.accepts must match the NeMo Fabric sections this adapter maps into Hermes Agent.
  • telemetry.providers declares provider-specific outputs and integration modes the adapter can produce or forward.

Do not put end-user agent settings in this directory. Users vary harness, model, skills, MCP, tools, telemetry, and runtime behavior through complete typed FabricConfig values and ordinary Python composition. The adapter descriptor describes adapter capabilities; it is not an agent configuration. Add descriptor fields only when NeMo Fabric core or the SDK actually uses them.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nemo_fabric_adapters_hermes-0.1.0rc6.tar.gz (7.0 kB view details)

Uploaded Source

File details

Details for the file nemo_fabric_adapters_hermes-0.1.0rc6.tar.gz.

File metadata

File hashes

Hashes for nemo_fabric_adapters_hermes-0.1.0rc6.tar.gz
Algorithm Hash digest
SHA256 484d88159beeebc9e41facc1a033bf820c42ec6fe530fc62550011b715844c85
MD5 3d1868ce2449d696592a21840625180f
BLAKE2b-256 39de3418eee6dab4bc3b50a26af2a7d548bd7834f85224b9712420b32b6d3705

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

1 file

0.1.1

1 file

0.1.0

1 file

This release

0.1.0rc6 This release

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page