Validate served model name consistency

This commit is contained in:
2026-04-09 22:50:23 +08:00
parent baba1a3c4f
commit d582a8ed1b
3 changed files with 30 additions and 3 deletions

View File

@@ -576,7 +576,7 @@ class StudySpec:
@classmethod
def from_dict(cls, data: Mapping[str, Any]) -> "StudySpec":
return cls(
study = cls(
study_id=_require_str(data.get("study_id"), context="study_id"),
hardware=HardwareSpec.from_dict(
_require_mapping(data.get("hardware"), context="hardware")
@@ -595,6 +595,14 @@ class StudySpec:
if data.get("capability_profile_path")
else None,
)
served_model_name = str(study.engine.base_flags.get("served-model-name") or "").strip()
if served_model_name and served_model_name != study.model.served_model_name:
raise SpecError(
"model.served_model_name must match engine.base_flags['served-model-name'] "
f"when both are set. Got model.served_model_name={study.model.served_model_name!r} "
f"and engine.base_flags['served-model-name']={served_model_name!r}."
)
return study
@dataclass(frozen=True)