保存最终结果到jsonl
(task: Task, benchmark: Any, save_dir: str)
| 1245 | |
| 1246 | |
| 1247 | async def save_final_result(task: Task, benchmark: Any, save_dir: str): |
| 1248 | """保存最终结果到jsonl""" |
| 1249 | from src.benchmark.types import Result |
| 1250 | |
| 1251 | best_eval = task.extra.get("best_eval_result", {}) |
| 1252 | |
| 1253 | result = Result( |
| 1254 | task_id=task.task_id, |
| 1255 | prompt=task.input, |
| 1256 | prediction=best_eval.get("status", "Unknown"), |
| 1257 | answer="None", |
| 1258 | score=task.score or 0.0, |
| 1259 | metrics={ |
| 1260 | "final_round": task.extra.get("final_round", MAX_REFLECTION_ROUNDS), |
| 1261 | "stop_reason": task.extra.get("stop_reason", "Unknown"), |
| 1262 | "best_score": task.extra.get("best_score", 0.0), |
| 1263 | "passed_cases": best_eval.get("passed_cases", 0), |
| 1264 | "total_cases": best_eval.get("total_cases", 0), |
| 1265 | "runtime": best_eval.get("runtime", 0), |
| 1266 | "runtime_beats": best_eval.get("runtime_beats", 0.0), |
| 1267 | "memory_usage": best_eval.get("memory_usage", 0), |
| 1268 | "memory_beats": best_eval.get("memory_beats", 0.0), |
| 1269 | "inference_time": task.extra.get("inference_time", 0.0), |
| 1270 | }, |
| 1271 | extra=None, |
| 1272 | start_time=task.extra.get("inference_start_time", time.time()), |
| 1273 | end_time=time.time(), |
| 1274 | spend_time=task.extra.get("inference_time", 0.0) |
| 1275 | ) |
| 1276 | |
| 1277 | await benchmark._submitter.save_result(result) |
| 1278 | |
| 1279 | |
| 1280 | def summarize_results(benchmark_name: str): |
no test coverage detected