NVIDIA NeMo Fabric Documentation

View as Markdown

NVIDIA NeMo Fabric is the harness-management layer that turns multiple agent runtimes into one configurable, observable execution surface. Applications use the same versioned config, lifecycle, result, artifact, and telemetry contracts whether the selected harness is Hermes Agent, Codex SDK, or a custom adapter.

NeMo Fabric owns the seam between an application and its harness. It resolves configuration, selects an adapter, drives the runtime lifecycle, and returns normalized evidence without leaking harness-specific control code into the caller.

What NeMo Fabric Gives You

Typed Configuration

Construct a complete, versioned FabricConfig in Python. Applications create variants with ordinary functions and typed copies.

Harness-Neutral Execution

Plan and invoke different harnesses through one Rust core, CLI, and Python SDK instead of embedding harness launch logic in every consumer.

Typed Lifecycle Contracts

Resolve configs, inspect capabilities, run single-invocation jobs, and hold multi-turn runtimes with typed requests, plans, handles, and results.

Normalized Evidence

Collect output, errors, lifecycle events, artifact manifests, and telemetry references in stable contracts suitable for platforms and evaluations.

Choose Your Interface

Use the following table to choose the NeMo Fabric interface that best fits how your application works with harnesses:

InterfaceUse it whenStart with
Python SDKYour application owns job config, runtime lifecycle, or multi-turn stateClient API
Runtime APIYou need multiple ordered turns over one live harness runtimeRuntime
Streaming APIYou need live ATOF records generated by NeMo Relay during a runtime turnStreaming
nemo-fabric CLIYou are experimenting with harnesses, running maintained examples, or troubleshooting configsExperimentation CLI
JSON SchemaYou are building editors, validation, code generation, or another language bindingCommitted schemas in the repository

Use FabricConfig as the canonical configuration contract. CLI selectors obtain complete typed configs from built-in presets or maintained examples.

Core Workflow

Application or evaluation harness
|
| Python SDK or nemo-fabric experimentation CLI
v
NeMo Fabric Rust core
config -> plan -> lifecycle
|
| resolved adapter contract
v
Hermes Agent | Codex | custom harness
|
v
RunResult + artifacts + events + telemetry references
  1. Configure a typed FabricConfig with a harness adapter, environment, models, tools, skills, MCP, and telemetry.
  2. Create variants from deep copies to vary harness, model, environment, or observability settings without mutating the base config.
  3. Plan and diagnose to resolve the adapter and check capabilities and requirements before spending work on a runtime.
  4. Run or start a runtime through the shared lifecycle contract. To consume live ATOF records, enable NeMo Relay, start the runtime with streaming=True, and call Runtime.invoke_stream().
  5. Consume evidence from RunResult: output, structured failure details, artifacts, events, and telemetry references.

Learn More

Continue exploring NeMo Fabric through these resources.

  • InstallationInstallation to set up the runtime and adapters.
  • QuickstartQuickstart to build from source and run the maintained SDK example.
  • Python SDKPython SDK for planning, diagnostics, typed requests, and multi-turn runtimes.
  • API ReferenceClient API to resolve, plan, diagnose, run, and start stateful runtimes.