Abhishek Tiwari commited on
Commit
1bbb14e
·
1 Parent(s): 2269f6b

Fix Phase 2 grader constraints to fall strictly inside (0, 1)

Browse files
Files changed (1) hide show
  1. core/grader.py +6 -4
core/grader.py CHANGED
@@ -33,7 +33,7 @@ class DataFrameGrader:
33
 
34
  if not same_col_set:
35
  return {
36
- "score": 0.0,
37
  "feedback": f"Column mismatch. Expected {expected_cols}, got {agent_cols}.",
38
  "details": {"column_score": 0.0, "row_count_score": 0.0, "row_content_score": 0.0},
39
  }
@@ -54,8 +54,10 @@ class DataFrameGrader:
54
  denom = max(1, sum(expected_rows.values()))
55
  row_content_score = 0.4 * (overlap / denom)
56
 
57
- score = round(min(1.0, col_score + row_count_score + row_content_score), 4)
58
- feedback = "Exact match." if score == 1.0 else "Partially correct result."
 
 
59
  return {
60
  "score": score,
61
  "feedback": feedback,
@@ -67,7 +69,7 @@ class DataFrameGrader:
67
  }
68
  except Exception as exc:
69
  return {
70
- "score": 0.0,
71
  "feedback": f"Grader failed: {exc}",
72
  "details": {"column_score": 0.0, "row_count_score": 0.0, "row_content_score": 0.0},
73
  }
 
33
 
34
  if not same_col_set:
35
  return {
36
+ "score": 0.0001,
37
  "feedback": f"Column mismatch. Expected {expected_cols}, got {agent_cols}.",
38
  "details": {"column_score": 0.0, "row_count_score": 0.0, "row_content_score": 0.0},
39
  }
 
54
  denom = max(1, sum(expected_rows.values()))
55
  row_content_score = 0.4 * (overlap / denom)
56
 
57
+ score = round(min(0.9999, col_score + row_count_score + row_content_score), 4)
58
+ if score <= 0.0:
59
+ score = 0.0001
60
+ feedback = "Exact match." if score >= 0.95 else "Partially correct result."
61
  return {
62
  "score": score,
63
  "feedback": feedback,
 
69
  }
70
  except Exception as exc:
71
  return {
72
+ "score": 0.0001,
73
  "feedback": f"Grader failed: {exc}",
74
  "details": {"column_score": 0.0, "row_count_score": 0.0, "row_content_score": 0.0},
75
  }