Spaces:
Paused
Paused
| from __future__ import annotations | |
| from dataclasses import dataclass | |
| class MyEnvV4Action: | |
| message: str | |
| class _EchoObservation: | |
| echoed_message: str | |
| class _EchoResult: | |
| observation: _EchoObservation | |
| reward: float = 0.0 | |
| done: bool = False | |
| class MyEnvV4Env: | |
| def __init__(self) -> None: | |
| self._step_count = 0 | |
| async def from_docker_image(cls, image_name: str | None = None) -> "MyEnvV4Env": | |
| return cls() | |
| async def reset(self) -> _EchoResult: | |
| self._step_count = 0 | |
| return _EchoResult(observation=_EchoObservation(echoed_message=""), reward=0.0, done=False) | |
| async def step(self, action: MyEnvV4Action) -> _EchoResult: | |
| self._step_count += 1 | |
| message = str(getattr(action, "message", "")) | |
| reward = len(message) * 0.1 | |
| return _EchoResult( | |
| observation=_EchoObservation(echoed_message=message), | |
| reward=reward, | |
| done=False, | |
| ) | |
| async def close(self) -> None: | |
| return None | |