Skip to main content
NVIDIA NeMo Agent Toolkit is NVIDIA’s open-source toolkit for building, running, and observing agent workflows. The toolkit ships with a built-in arize_ax OpenTelemetry exporter, so traces — including LLM calls, tool invocations, and full input/output payloads — flow into Arize AX without any extra instrumentation code.
This integration is driven entirely by a YAML configuration file in the NeMo Agent Toolkit repository. There is no standalone Python script to run; you launch your workflow with the toolkit’s nat CLI and the toolkit handles exporter setup.

Prerequisites

Launch Arize AX

  1. Sign in to your Arize AX account.
  2. From Space Settings, copy your Space ID and API Key. You will set them as ARIZE_SPACE_ID and ARIZE_API_KEY below.

Install

Install the OpenTelemetry extra to enable the arize_ax exporter:
uv pip install "nvidia-nat[opentelemetry]"

Configure credentials

export ARIZE_SPACE_ID="<your-space-id>"
export ARIZE_API_KEY="<your-api-key>"
export ARIZE_PROJECT_NAME="simple_calculator"

Setup tracing

Add the arize_ax exporter to your workflow’s YAML configuration file:
general:
  telemetry:
    tracing:
      arize_ax:
        _type: arize_ax
        space_id: ${ARIZE_SPACE_ID}
        api_key: ${ARIZE_API_KEY}
        project: ${ARIZE_PROJECT_NAME:-simple_calculator}
        # Optional: enable for EU data residency
        # use_eu_region: true
This sends OTLP-formatted traces to Arize AX, grouped into the project you specify.

Run NeMo Agent Toolkit

From the root of the NeMo Agent Toolkit repository, install the example workflow and run it with your Arize AX configuration:
uv pip install -e examples/observability/simple_calculator_observability/

nat run \
  --config_file examples/observability/simple_calculator_observability/configs/config-arize-ax.yml \
  --input "What is 2 * 4?"

Expected output

Started exporter 'arize_ax'
The result of 2 * 4 is 8.

Verify in Arize AX

  1. Open your Arize AX space and select project simple_calculator (or whatever value you set for ARIZE_PROJECT_NAME).
  2. You should see a new trace within ~30 seconds containing the workflow’s root span and nested LLM / tool spans with prompts, responses, and token usage attached.
  3. If no traces appear, see Troubleshooting.

Troubleshooting

  • No Started exporter 'arize_ax' log line. The OpenTelemetry extra isn’t installed in the active environment. Re-run uv pip install "nvidia-nat[opentelemetry]" and confirm the YAML _type is exactly arize_ax.
  • No traces in Arize AX. Confirm ARIZE_SPACE_ID and ARIZE_API_KEY are exported in the same shell that runs nat run. The YAML uses ${ARIZE_SPACE_ID} / ${ARIZE_API_KEY} substitution, so unset variables resolve to empty strings and the exporter silently fails to authenticate.
  • EU data residency. Set use_eu_region: true under general.telemetry.tracing.arize_ax to route traces to the EU ingest endpoint.
  • Wrong project in Arize AX. The YAML project: value wins over ARIZE_PROJECT_NAME unless you use the ${ARIZE_PROJECT_NAME:-default} substitution shown above.

Resources

Observe NeMo Agent Toolkit with Arize AX

NeMo Agent Toolkit Documentation

NeMo Agent Toolkit GitHub