CoolFace
Apppublic

Dhrona1421/multimodal-content-moderation

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
openenv_env.py64 linesDownload Raw Back to root
1"""2Strict OpenEnv adapter exposing the canonical environment API:3  - reset()4  - step(action)5  - state()6 7This wrapper keeps the task logic in ContentModerationEnv while presenting8the exact method surface expected by hackathon validators and reviewers.9"""10 11from __future__ import annotations12 13from typing import Any, Dict, Optional, Tuple14 15from env import ContentModerationEnv16from schemas import ActionModel, ObservationModel, RewardModel, StepInfoModel17 18 19class OpenEnvModerationEnv:20    """Canonical OpenEnv interface wrapper for content moderation."""21 22    ObservationModel = ObservationModel23    ActionModel = ActionModel24    RewardModel = RewardModel25    StepInfoModel = StepInfoModel26 27    def __init__(28        self,29        dataset_path: str = "moderation_dataset.json",30        task: str = "medium",31        max_steps: int = 12,32        seed: Optional[int] = None,33        severity_scale: float = 0.3,34        calib_weight: float = 0.15,35    ) -> None:36        self._env = ContentModerationEnv(37            dataset_path=dataset_path,38            task=task,39            max_steps=max_steps,40            seed=seed,41            severity_scale=severity_scale,42            calib_weight=calib_weight,43        )44 45    def reset(self) -> Dict[str, Any]:46        """Reset episode and return initial observation."""47        return self._env.reset()48 49    def step(self, action: Dict[str, Any]) -> Tuple[Dict[str, Any], float, bool, Dict[str, Any]]:50        """Execute one action and return (observation, reward, done, info)."""51        return self._env.step(action)52 53    def state(self) -> Dict[str, Any]:54        """Return current observation without advancing state."""55        return self._env.state()56 57    @property58    def max_steps(self) -> int:59        return self._env.max_steps60 61    @property62    def contract(self) -> Dict[str, Any]:63        return self._env.contract64