diff --git a/src/inference_endpoint/evaluation/swe_bench_fleet_scorer.py b/src/inference_endpoint/evaluation/swe_bench_fleet_scorer.py index 2848d9213..d3a932224 100644 --- a/src/inference_endpoint/evaluation/swe_bench_fleet_scorer.py +++ b/src/inference_endpoint/evaluation/swe_bench_fleet_scorer.py @@ -255,7 +255,15 @@ def score(self) -> tuple[float | None, int]: self._model_name = model_name self._endpoint_urls = endpoint_urls self._endpoint_api_key = endpoint_config.get("api_key") - self._generation_params = SWEBenchScorer._generation_params(model_params) + # load_benchmark_config() yaml.safe_load()s config.yaml, so model_params + # is a plain mapping here, while _generation_params() expects the + # pydantic ModelParams. Re-validate rather than re-implement the field + # selection, so the fleet path and the single-service path agree. + from ..config.schema import ModelParams + + self._generation_params = SWEBenchScorer._generation_params( + ModelParams.model_validate(model_params) + ) self._unit_root = unit_root def fingerprint() -> str | None: