nemo_gym.episode_types

View as Markdown

Wire contracts for environment servers.

Module Contents

Classes

NameDescription
BaseEpisodeRequestCarry environment-neutral identity and typed task input.
BaseEpisodeResponseReturn either a typed result or a handled failure.
EpisodeFailureDescribe a handled episode failure.
EpisodeIdIdentify one physical attempt of a logical rollout.
MaterializedTaskCarry durable task identity and protocol-shaped task input.
TaskIdIdentify one task within a run-qualified taskset.

Data

EpisodeResultT

TaskInputT

API

class nemo_gym.episode_types.BaseEpisodeRequest()

Bases: BaseModel, Generic[TaskInputT]

Carry environment-neutral identity and typed task input.

episode_id
EpisodeId
model_config
= ConfigDict(extra='forbid')
task
MaterializedTask[TaskInputT]
class nemo_gym.episode_types.BaseEpisodeResponse()

Bases: BaseModel, Generic[EpisodeResultT]

Return either a typed result or a handled failure.

episode_id
EpisodeId
failure
EpisodeFailure | None = None
model_config
= ConfigDict(extra='forbid')
result
EpisodeResultT | None = None
task_id
TaskId
nemo_gym.episode_types.BaseEpisodeResponse.validate_result() -> typing_extensions.Self
class nemo_gym.episode_types.EpisodeFailure()

Bases: BaseModel

Describe a handled episode failure.

message
str = Field(max_length=2000)
model_config
= ConfigDict(extra='forbid')
terminal
bool
class nemo_gym.episode_types.EpisodeId()

Bases: BaseModel

Identify one physical attempt of a logical rollout.

attempt
int = Field(default=0, ge=0)
capture_key
str

Return the attempt-qualified key used by capture routes.

model_config
= ConfigDict(extra='forbid', frozen=True)
rollout_id
str
nemo_gym.episode_types.EpisodeId.reserve_attempt_suffix(
rollout_id: str
) -> str
classmethod

Keep the derived capture key injective without changing existing keys.

class nemo_gym.episode_types.MaterializedTask()

Bases: BaseModel, Generic[TaskInputT]

Carry durable task identity and protocol-shaped task input.

model_config
= ConfigDict(extra='forbid')
task_id
TaskId
task_input
TaskInputT
class nemo_gym.episode_types.TaskId()

Bases: BaseModel

Identify one task within a run-qualified taskset.

model_config
= ConfigDict(extra='forbid', frozen=True)
task_id
str = Field(min_length=1)
taskset
str
nemo_gym.episode_types.EpisodeResultT = TypeVar('EpisodeResultT')
nemo_gym.episode_types.TaskInputT = TypeVar('TaskInputT', bound=BaseModel)