Skip to content

NAT + DRAgent (YAML workflows)

What you edit: a single workflow.yaml (plus optional small Python modules that register extra tools). DRAgent is the runner and HTTP front end: it loads that file and exposes AG-UI over SSE.

The canonical example is e2e-tests/dragent/nat/workflow.yaml. The sections below match what you see there.

Installation

pip install "datarobot-genai[dragent]"

Guides (interfaces in the example)

Topic What it explains
agent.md Top-level workflow.yaml: functions, workflow, llms, how they connect
llm.md The llms: block and _type values (e.g. datarobot-llm-component)
mcp.md function_groups, authentication, MCP tools in tool_names
a2a-client.md A2A client: calling remote agents, agent card resolution (url / registry)
a2a-auth.md A2A authentication: DataRobot API key and Okta XAA
caveats.md Interface caveats

Shared env vars: LLM configuration (shared). Streaming behavior (NAT ≥ 1.6): NAT 1.6 streaming in DRAgent.

Run the example

From e2e-tests/ (with credentials in the environment):

uv sync --group dragent-nat
uv run --group dragent-nat nat dragent run \
  --config_file dragent/nat/workflow.yaml \
  --input "Your prompt."

Serve HTTP: e2e-tests/dragent/Taskfile.yaml (run-nat).

Note: Older samples sometimes loaded the same YAML through a small Python wrapper. DRAgent is the path forward; treat workflow.yaml + nat dragent as the supported interface.