Spaces:
Sleeping
Sleeping
I766446 commited on
Commit ·
5ff0156
1
Parent(s): 79817cf
final4
Browse files- openenv.yaml +5 -5
- server.py +48 -15
openenv.yaml
CHANGED
|
@@ -142,13 +142,13 @@ reward:
|
|
| 142 |
# ---------------------------------------------------------------------------
|
| 143 |
tasks:
|
| 144 |
- name: easy
|
| 145 |
-
grader: tasks.
|
| 146 |
-
|
| 147 |
- name: medium
|
| 148 |
-
grader: tasks.
|
| 149 |
-
|
| 150 |
- name: hard
|
| 151 |
-
grader: tasks.
|
| 152 |
|
| 153 |
# ---------------------------------------------------------------------------
|
| 154 |
# Grader
|
|
|
|
| 142 |
# ---------------------------------------------------------------------------
|
| 143 |
tasks:
|
| 144 |
- name: easy
|
| 145 |
+
grader: tasks.easy.grader.grade_episode
|
| 146 |
+
|
| 147 |
- name: medium
|
| 148 |
+
grader: tasks.medium.grader.grade_episode
|
| 149 |
+
|
| 150 |
- name: hard
|
| 151 |
+
grader: tasks.hard.grader.grade_episode
|
| 152 |
|
| 153 |
# ---------------------------------------------------------------------------
|
| 154 |
# Grader
|
server.py
CHANGED
|
@@ -292,22 +292,55 @@ async def get_state_root():
|
|
| 292 |
|
| 293 |
|
| 294 |
@app.get("/tasks")
|
|
|
|
| 295 |
async def list_tasks():
|
| 296 |
-
return [
|
| 297 |
-
{
|
| 298 |
-
"id": "easy",
|
| 299 |
-
"grader": "tasks.easy.grader.grade_episode"
|
| 300 |
-
},
|
| 301 |
-
{
|
| 302 |
-
"id": "medium",
|
| 303 |
-
"grader": "tasks.medium.grader.grade_episode"
|
| 304 |
-
},
|
| 305 |
-
{
|
| 306 |
-
"id": "hard",
|
| 307 |
-
"grader": "tasks.hard.grader.grade_episode"
|
| 308 |
-
}
|
| 309 |
-
]
|
| 310 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 311 |
|
| 312 |
@app.post("/collect", response_model=CollectResponse)
|
| 313 |
async def collect(req: CollectRequest):
|
|
@@ -538,7 +571,7 @@ async def grade_episode(req: GradeRequest):
|
|
| 538 |
"score": round(max(0.005, min(0.995, score)), 4),
|
| 539 |
"passed": True,
|
| 540 |
"score_range": [0.0, 1.0],
|
| 541 |
-
"grader": f"tasks.{task_id}.grader.
|
| 542 |
}
|
| 543 |
except Exception as e:
|
| 544 |
logger.error("Grading failed: %s", traceback.format_exc())
|
|
|
|
| 292 |
|
| 293 |
|
| 294 |
@app.get("/tasks")
|
| 295 |
+
|
| 296 |
async def list_tasks():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 297 |
|
| 298 |
+
from tasks.graders import GraderFactory
|
| 299 |
+
|
| 300 |
+
result = []
|
| 301 |
+
|
| 302 |
+
for difficulty in ("easy", "medium", "hard"):
|
| 303 |
+
|
| 304 |
+
try:
|
| 305 |
+
|
| 306 |
+
grader = GraderFactory.get(difficulty)
|
| 307 |
+
|
| 308 |
+
result.append({
|
| 309 |
+
|
| 310 |
+
"id": difficulty,
|
| 311 |
+
|
| 312 |
+
"name": difficulty,
|
| 313 |
+
|
| 314 |
+
"difficulty": difficulty,
|
| 315 |
+
|
| 316 |
+
"has_grader": True,
|
| 317 |
+
|
| 318 |
+
"grader": f"tasks.{difficulty}.grader.grade_episode",
|
| 319 |
+
|
| 320 |
+
"grader_fn": f"tasks.{difficulty}.grader.grade_episode",
|
| 321 |
+
|
| 322 |
+
"score_range": [0.0, 1.0],
|
| 323 |
+
|
| 324 |
+
"grader_weights": {
|
| 325 |
+
|
| 326 |
+
"decision": grader.W_DECISION,
|
| 327 |
+
|
| 328 |
+
"evidence": grader.W_EVIDENCE,
|
| 329 |
+
|
| 330 |
+
"reasoning": grader.W_REASONING,
|
| 331 |
+
|
| 332 |
+
"efficiency": grader.W_EFFICIENCY,
|
| 333 |
+
|
| 334 |
+
},
|
| 335 |
+
|
| 336 |
+
})
|
| 337 |
+
|
| 338 |
+
except Exception as exc:
|
| 339 |
+
|
| 340 |
+
result.append({"id": difficulty, "error": str(exc), "has_grader": False})
|
| 341 |
+
|
| 342 |
+
return result
|
| 343 |
+
|
| 344 |
|
| 345 |
@app.post("/collect", response_model=CollectResponse)
|
| 346 |
async def collect(req: CollectRequest):
|
|
|
|
| 571 |
"score": round(max(0.005, min(0.995, score)), 4),
|
| 572 |
"passed": True,
|
| 573 |
"score_range": [0.0, 1.0],
|
| 574 |
+
"grader": f"tasks.{task_id}.grader.grade_episode",
|
| 575 |
}
|
| 576 |
except Exception as e:
|
| 577 |
logger.error("Grading failed: %s", traceback.format_exc())
|