nemo_rl.models.generation.dynamo.config#

Validated configuration for the managed Dynamo generation backend.

Module Contents#

Classes#

DynamoWorkerArgs

Structured arguments passed to every managed dynamo.vllm worker.

DynamoFrontendArgs

Structured arguments passed to the managed Dynamo frontend.

DynamoCfg

Driver-owned Dynamo service and worker-fleet configuration.

DynamoVllmConfig

Known vLLM settings consumed by dynamo.vllm.

DynamoConfig

Validated boundary for policy.generation.backend=dynamo.

Functions#

Data#

API#

nemo_rl.models.generation.dynamo.config.VLLM_PACKED_BUFFER_SIZE_BYTES#

None

nemo_rl.models.generation.dynamo.config.VLLM_PACKED_NUM_BUFFERS#

2

nemo_rl.models.generation.dynamo.config.DYNAMO_VLLM_FLAGS: dict[str, str]#

None

nemo_rl.models.generation.dynamo.config._VLLM_CFG_STRUCTURAL#

None

nemo_rl.models.generation.dynamo.config._VLLM_CFG_MOVED#

None

nemo_rl.models.generation.dynamo.config._VLLM_CFG_UNSUPPORTED#

None

nemo_rl.models.generation.dynamo.config._VLLM_CFG_MANAGED_RUNTIME#

None

nemo_rl.models.generation.dynamo.config._VLLM_CFG_INAPPLICABLE#

None

nemo_rl.models.generation.dynamo.config._VLLM_SINGLE_RANK_ONLY_FIELDS#

None

class nemo_rl.models.generation.dynamo.config.DynamoWorkerArgs#

Bases: pydantic.BaseModel

Structured arguments passed to every managed dynamo.vllm worker.

tool_call_parser: str | None#

None

reasoning_parser: str | None#

None

exclude_tools_when_tool_choice_none: bool#

None

enable_structural_tag: bool#

None

structural_tag_scope: Literal[auto, always]#

None

structural_tag_schema: Literal[auto, strict]#

None

custom_jinja_template: str | None#

None

endpoint_types: list[Literal[chat, completions]]#

None

extra_cli_args: list[str]#

None

_validate_endpoint_types() nemo_rl.models.generation.dynamo.config.DynamoWorkerArgs#
class nemo_rl.models.generation.dynamo.config.DynamoFrontendArgs#

Bases: pydantic.BaseModel

Structured arguments passed to the managed Dynamo frontend.

tokenizer: Literal[default, fastokens]#

None

tokenizer_cache: bool#

None

tokenizer_cache_bytes: pydantic.PositiveInt#

None

router_mode: Literal[round-robin, random, power-of-two, kv, direct, least-loaded, device-aware-weighted]#

None

router_reset_states: bool#

None

extra_cli_args: list[str]#

None

class nemo_rl.models.generation.dynamo.config.DynamoCfg#

Bases: pydantic.BaseModel

Driver-owned Dynamo service and worker-fleet configuration.

engine: Literal[vllm]#

None

startup_timeout_s: pydantic.PositiveFloat#

None

request_timeout_s: pydantic.PositiveFloat#

None

control_timeout_s: pydantic.PositiveFloat#

None

worker_args: nemo_rl.models.generation.dynamo.config.DynamoWorkerArgs#

None

frontend_args: nemo_rl.models.generation.dynamo.config.DynamoFrontendArgs#

None

metrics_include_prefixes: list[str] | None#

None

metrics_exclude_prefixes: list[str] | None#

None

class nemo_rl.models.generation.dynamo.config.DynamoVllmConfig#

Bases: pydantic.BaseModel

Known vLLM settings consumed by dynamo.vllm.

Additional fields remain visible in model_extra so argument construction can warn rather than silently dropping an inherited vLLM setting.

async_engine: bool#

None

tensor_parallel_size: pydantic.PositiveInt#

None

pipeline_parallel_size: pydantic.PositiveInt#

None

expert_parallel_size: pydantic.PositiveInt#

None

gpu_memory_utilization: float#

None

max_model_len: pydantic.PositiveInt#

None

kv_cache_dtype: str#

None

load_format: str#

None

precision: str#

None

enforce_eager: bool#

None

expose_http_server: bool#

None

enable_vllm_metrics_logger: bool#

None

vllm_metrics_logger_interval: pydantic.PositiveFloat#

None

env_vars: dict[str, str] | None#

None

_validate_parallelism_and_precision() nemo_rl.models.generation.dynamo.config.DynamoVllmConfig#
nemo_rl.models.generation.dynamo.config._require_nonempty_vllm_config(value: Any) Any#
class nemo_rl.models.generation.dynamo.config.DynamoConfig#

Bases: pydantic.BaseModel

Validated boundary for policy.generation.backend=dynamo.

backend: Literal[dynamo]#

None

dynamo_cfg: nemo_rl.models.generation.dynamo.config.DynamoCfg#

None

vllm_cfg: Annotated[nemo_rl.models.generation.dynamo.config.DynamoVllmConfig, BeforeValidator(_require_nonempty_vllm_config)]#

None

vllm_kwargs: dict[str, Any]#

None

property engine_world_size: int#

Return the derived ranks in each single-node vLLM engine.

_validate_backend_boundary() nemo_rl.models.generation.dynamo.config.DynamoConfig#