nemo_rl.data_plane.factory#

Single entrypoint that maps a :class:DataPlaneConfig to a client.

Module Contents#

Functions#

build_data_plane_client

Construct the configured data-plane client.

API#

nemo_rl.data_plane.factory.build_data_plane_client(
cfg: nemo_rl.data_plane.interfaces.DataPlaneConfig | None,
*,
bootstrap: bool = True,
) nemo_rl.data_plane.interfaces.DataPlaneClient#

Construct the configured data-plane client.

Dispatches on cfg["impl"]. Only "transfer_queue" ships today; other adapters can be added behind this factory without touching call sites. Raises if data_plane is disabled — the legacy trainer (nemo_rl.algorithms.grpo.grpo_train) should be used in that case rather than a NoOp fallback here.

Parameters:
  • cfg – Data-plane config; must have enabled=True.

  • bootstrapTrue on the driver — bootstraps the TQ controller. False on worker processes — connects to the existing controller (avoids creating a second named actor).

Returns:

A configured DataPlaneClient; wrapped in

class:

MetricsDataPlaneClient when observability is enabled.