subhdotsol commited on
Commit
e4d4c65
·
1 Parent(s): d289b48

feat(environment): implement reset() — zeros state and generates new episode_id

Browse files
Files changed (1) hide show
  1. server/environment.py +20 -0
server/environment.py CHANGED
@@ -31,3 +31,23 @@ class RedTeamEnvironment:
31
  def set_llm_pipeline(self, pipeline_fn: Callable) -> None:
32
  self.llm_pipeline = pipeline_fn
33
  logger.info("LLM pipeline wired up (Person 3)")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  def set_llm_pipeline(self, pipeline_fn: Callable) -> None:
32
  self.llm_pipeline = pipeline_fn
33
  logger.info("LLM pipeline wired up (Person 3)")
34
+
35
+ async def reset(self) -> RedTeamObservation:
36
+ self.turn = 0
37
+ self.attack_history = []
38
+ self.episode_id = f"ep_{uuid.uuid4().hex[:12]}"
39
+ self.is_active = True
40
+ self.created_at = datetime.utcnow()
41
+
42
+ logger.info(f"Episode started: {self.episode_id}")
43
+
44
+ return RedTeamObservation(
45
+ defender_response = "Defender initialised. Ready for red-team evaluation.",
46
+ defense_score = 1.0,
47
+ attack_success_estimate = 0.0,
48
+ novelty_score = 1.0,
49
+ turn = 0,
50
+ episode_done = False,
51
+ feedback = "Episode started. Begin your attack strategies.",
52
+ episode_id = self.episode_id,
53
+ )