Files
wehub-resource-sync e64161ec32
CI / ci (3.11) (push) Has been cancelled
CI / ci (3.10) (push) Has been cancelled
CI / dependabot (push) Has been cancelled
Release / release_and_publish (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:36:15 +08:00

42 lines
1.1 KiB
Python

"""
RL Post-training Workspace
参考 SFT: rdagent/scenarios/finetune/experiment/workspace.py
"""
from pathlib import Path
from typing import TYPE_CHECKING
from rdagent.core.experiment import FBWorkspace
from rdagent.log import rdagent_logger as logger
if TYPE_CHECKING:
from rdagent.utils.env import Env
from rdagent.utils.env import DockerEnv, EnvResult
class RLWorkspace(FBWorkspace):
"""RL 训练工作区"""
def run(self, env: "Env", entry: str) -> EnvResult:
"""在环境中执行命令"""
self.prepare()
self.inject_files(**self.file_dict)
result = env.run(entry, str(self.workspace_path))
tag_prefix = "docker_run" if isinstance(env, DockerEnv) else "env_run"
logger.log_object(
{
"exit_code": result.exit_code,
"stdout": result.stdout or "",
"running_time": result.running_time,
"entry": entry,
"workspace_path": str(self.workspace_path),
},
tag=f"{tag_prefix}.RLWorkspace",
)
return result