Spaces:
Paused
Paused
raj921
Split train and tool simulator modules; mastery curriculum and grader workflow nudge.
5e75745 | """DriftShield — an OpenEnv benchmark that trains LLM agents to survive | |
| production runtime failures (prompt injection, schema drift, poisoned memory, | |
| lying tools). | |
| The Python package is still importable as ``support_ops_env`` for backwards | |
| compatibility with the live HF Space URL and existing notebooks. New code | |
| should prefer the ``DriftShield*`` aliases below. | |
| """ | |
| from .client import SupportOpsEnv | |
| from .models import SupportOpsAction, SupportOpsObservation, SupportOpsState | |
| from .tasks import ( | |
| DIFFICULTY_ORDER, | |
| DRIFTSHIELD_TASK_IDS, | |
| DRIFTSHIELD_TIERS, | |
| TASK_IDS, | |
| expand_curriculum_with_mastery, | |
| get_curriculum_task_ids, | |
| get_task_spec, | |
| list_task_specs, | |
| load_curriculum_state, | |
| ) | |
| # DriftShield-branded aliases — preferred for new code. | |
| DriftShieldEnv = SupportOpsEnv | |
| DriftShieldAction = SupportOpsAction | |
| DriftShieldObservation = SupportOpsObservation | |
| DriftShieldState = SupportOpsState | |
| __all__ = [ | |
| "DIFFICULTY_ORDER", | |
| "DRIFTSHIELD_TASK_IDS", | |
| "DRIFTSHIELD_TIERS", | |
| "DriftShieldAction", | |
| "DriftShieldEnv", | |
| "DriftShieldObservation", | |
| "DriftShieldState", | |
| "SupportOpsAction", | |
| "SupportOpsEnv", | |
| "SupportOpsObservation", | |
| "SupportOpsState", | |
| "TASK_IDS", | |
| "expand_curriculum_with_mastery", | |
| "get_curriculum_task_ids", | |
| "get_task_spec", | |
| "list_task_specs", | |
| "load_curriculum_state", | |
| ] | |
| def get_training_utils(): | |
| """Lazy-import training utilities from :mod:`support_ops_env.train`. | |
| Returns a dict with: ``SYSTEM_PROMPT``, ``rollout_once``, | |
| ``format_observation``, ``format_history``, ``parse_tool_calls``, | |
| ``apply_chat_template``, ``reward_total``, ``reward_fields``, | |
| ``reward_reply``, ``reward_grounding``, ``plot_rewards``, | |
| ``patch_trl_vllm_compat``, ``require_vllm_trl_colocate_safe``. | |
| Example (Colab):: | |
| from support_ops_env import get_training_utils | |
| tu = get_training_utils() | |
| SYSTEM_PROMPT = tu["SYSTEM_PROMPT"] | |
| rollout_once = tu["rollout_once"] | |
| """ | |
| from . import train as _train | |
| return { | |
| "SYSTEM_PROMPT": _train.SYSTEM_PROMPT, | |
| "rollout_once": _train.rollout_once, | |
| "format_observation": _train.format_observation, | |
| "format_history": _train.format_history, | |
| "parse_tool_calls": _train.parse_tool_calls, | |
| "apply_chat_template": _train.apply_chat_template, | |
| "reward_total": _train.reward_total, | |
| "reward_fields": _train.reward_fields, | |
| "reward_reply": _train.reward_reply, | |
| "reward_grounding": _train.reward_grounding, | |
| "plot_rewards": _train.plot_rewards, | |
| "patch_trl_vllm_compat": _train.patch_trl_vllm_compat, | |
| "require_vllm_trl_colocate_safe": _train.require_vllm_trl_colocate_safe, | |
| } | |
| def get_gemma4_training_utils(): | |
| """Lazy-import the Gemma 4 training utilities from :mod:`support_ops_env.train_gemma4`. | |
| This path uses TRL's ``environment_factory`` API (the newer pattern shipped | |
| with Gemma 4's CARLA reference). Install with:: | |
| pip install -e ".[gemma]" | |
| Returns a dict with: ``SYSTEM_PROMPT``, ``SupportOpsToolEnv``, ``reward_total``, | |
| ``reward_fields``, ``reward_reply``, ``reward_merge``. | |
| Example (Colab):: | |
| from support_ops_env import get_gemma4_training_utils | |
| g4 = get_gemma4_training_utils() | |
| ToolEnv = g4["SupportOpsToolEnv"] | |
| ToolEnv._env_url = "https://<you>-support-ops-env.hf.space" | |
| """ | |
| from . import train_gemma4 as _g4 | |
| return { | |
| "SYSTEM_PROMPT": _g4.SYSTEM_PROMPT, | |
| "SupportOpsToolEnv": _g4.SupportOpsToolEnv, | |
| "reward_total": _g4.reward_total, | |
| "reward_investigation": _g4.reward_investigation, | |
| "reward_routing": _g4.reward_routing, | |
| "reward_reply": _g4.reward_reply, | |
| "reward_groundedness": _g4.reward_groundedness, | |
| # Back-compat aliases (older cells may still import these). | |
| "reward_fields": _g4.reward_routing, | |
| "reward_merge": _g4.reward_investigation, | |
| } | |