| 6 | logger = logging.getLogger(__name__) |
| 7 | |
| 8 | class EvalMetadata(BaseModel): |
| 9 | agent_func: str |
| 10 | model: str |
| 11 | eval_output_dir: str |
| 12 | start_time: str |
| 13 | dataset: str | None = None |
| 14 | data_split: str | None = None |
| 15 | details: dict[str, Any] | None = None |
| 16 | container_name: str | None = None |
| 17 | port: int | None = None |
| 18 | git_clone: bool | None = None |
| 19 | test_pull_name: str | None = None |
| 20 | |
| 21 | def model_dump(self, *args, **kwargs): |
| 22 | dumped_dict = super().model_dump(*args, **kwargs) |
| 23 | # avoid leaking sensitive information |
| 24 | return dumped_dict |
| 25 | |
| 26 | def model_dump_json(self, *args, **kwargs): |
| 27 | dumped = super().model_dump_json(*args, **kwargs) |
| 28 | dumped_dict = json.loads(dumped) |
| 29 | logger.debug(f'Dumped metadata: {dumped_dict}') |
| 30 | return json.dumps(dumped_dict) |
| 31 | |
| 32 | class EvalOutput(BaseModel): |
| 33 | # NOTE: User-specified |