junaid0600 commited on
Commit
6e703c0
Β·
1 Parent(s): 2146d9e

Fix score strictly between 0.001 and 0.999 - never 0.0 or 1.0

Browse files
Files changed (1) hide show
  1. inference.py +14 -11
inference.py CHANGED
@@ -26,9 +26,9 @@ HF_TOKEN = os.getenv("HF_TOKEN")
26
  if HF_TOKEN is None:
27
  raise ValueError("HF_TOKEN environment variable is required")
28
 
29
- API_KEY = HF_TOKEN
30
- BENCHMARK = "sql-query-debugger"
31
- MAX_STEPS = 10
32
  SUCCESS_SCORE_THRESHOLD = 0.5
33
 
34
  # ─────────────────────────────────────────────
@@ -185,7 +185,7 @@ def run_episode(client: OpenAI, difficulty: str, task_id: str) -> dict:
185
  rewards = []
186
  steps = 0
187
  success = False
188
- score = 0.0
189
 
190
  log_start(task=task_id, env=BENCHMARK, model=MODEL_NAME)
191
 
@@ -204,7 +204,7 @@ def run_episode(client: OpenAI, difficulty: str, task_id: str) -> dict:
204
  done = resp.done
205
  obs = resp.observation
206
  except Exception as e:
207
- reward = -0.1
208
  done = False
209
  error_str = str(e)[:100]
210
 
@@ -222,23 +222,26 @@ def run_episode(client: OpenAI, difficulty: str, task_id: str) -> dict:
222
  if done:
223
  break
224
 
225
- # Score must be strictly between 0 and 1 (not 0.0, not 1.0)
226
- total_reward = sum(rewards)
227
- raw_score = total_reward / MAX_STEPS if MAX_STEPS > 0 else 0.0
228
- # Clamp strictly between 0 and 1 exclusive
 
 
 
229
  score = max(0.001, min(0.999, raw_score))
230
  success = score >= SUCCESS_SCORE_THRESHOLD
231
 
232
  except Exception as e:
233
  print(f"[DEBUG] Episode error: {e}", flush=True)
234
- score = 0.001
235
  success = False
236
 
237
  finally:
238
  log_end(
239
  success = success,
240
  steps = steps,
241
- rewards = rewards
242
  )
243
 
244
  return {
 
26
  if HF_TOKEN is None:
27
  raise ValueError("HF_TOKEN environment variable is required")
28
 
29
+ API_KEY = HF_TOKEN
30
+ BENCHMARK = "sql-query-debugger"
31
+ MAX_STEPS = 10
32
  SUCCESS_SCORE_THRESHOLD = 0.5
33
 
34
  # ─────────────────────────────────────────────
 
185
  rewards = []
186
  steps = 0
187
  success = False
188
+ score = 0.1 # default non-zero
189
 
190
  log_start(task=task_id, env=BENCHMARK, model=MODEL_NAME)
191
 
 
204
  done = resp.done
205
  obs = resp.observation
206
  except Exception as e:
207
+ reward = 0.01
208
  done = False
209
  error_str = str(e)[:100]
210
 
 
222
  if done:
223
  break
224
 
225
+ # Score strictly between 0 and 1 exclusive
226
+ if rewards:
227
+ total_reward = sum(rewards)
228
+ raw_score = total_reward / len(rewards)
229
+ else:
230
+ raw_score = 0.1
231
+
232
  score = max(0.001, min(0.999, raw_score))
233
  success = score >= SUCCESS_SCORE_THRESHOLD
234
 
235
  except Exception as e:
236
  print(f"[DEBUG] Episode error: {e}", flush=True)
237
+ score = 0.1
238
  success = False
239
 
240
  finally:
241
  log_end(
242
  success = success,
243
  steps = steps,
244
+ rewards = rewards if rewards else [0.1]
245
  )
246
 
247
  return {