sgl-project/sglang · critical · ValueError
model_index.json._minimax_h3.partition must be one of fl2va,
Error message
model_index.json._minimax_h3.partition must be one of fl2va, ref2va
What it means
The _minimax_h3.partition field in model_index.json must be exactly 'fl2va' or 'ref2va'. The partition determines which task family and conditioning paths the checkpoint serves, so an unknown value is rejected at config load.
Source
Thrown at python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/release_metadata.py:65
schema_version: int
partition: str
tasks: tuple[str, ...]
task_aliases: Mapping[str, str]
video_sigma_shift: float
audio_sigma_shift: float
@classmethod
def from_model_index(
cls, model_index: Mapping[str, Any]
) -> MiniMaxH3ReleaseMetadata:
raw = model_index.get("_minimax_h3")
if not isinstance(raw, Mapping):
raise ValueError("model_index.json._minimax_h3 must be an object")
if raw.get("schema_version") != 1:
raise ValueError("model_index.json._minimax_h3.schema_version must be 1")
partition = raw.get("partition")
if partition not in {"fl2va", "ref2va"}:
raise ValueError(
"model_index.json._minimax_h3.partition must be one of " "fl2va, ref2va"
)
tasks = _string_list(raw.get("tasks"), "model_index.json._minimax_h3.tasks")
aliases = raw.get("task_aliases", {})
if not isinstance(aliases, Mapping) or any(
not isinstance(key, str)
or not key
or not isinstance(value, str)
or not value
for key, value in aliases.items()
):
raise ValueError(
"model_index.json._minimax_h3.task_aliases must map strings to strings"
)
scales = raw.get("sigma_shift_scales")
if not isinstance(scales, Mapping):
raise ValueError(
"model_index.json._minimax_h3.sigma_shift_scales must be an object"View on GitHub (pinned to 0132848349)
Solutions
- Set partition to exactly "fl2va" or "ref2va" (lowercase) in _minimax_h3
- Pick the partition matching the checkpoint's trained task family
- Re-download the official release files if the metadata was mangled
Example fix
// before
"_minimax_h3": {"schema_version": 1, "partition": "Ref2VA", ...}
// after
"_minimax_h3": {"schema_version": 1, "partition": "ref2va", ...} Defensive patterns
Strategy: validation
Validate before calling
def partition_ok(idx) -> bool:
return idx.get("_minimax_h3", {}).get("partition") in {"fl2va", "ref2va"} Prevention
- Use exact lowercase partition strings
- Copy the partition field verbatim from the official release metadata
When it happens
Trigger: partition misspelled ('ref2VA', 'fl2v'), set to another string, or missing (None) in model_index.json.
Common situations: Hand-edited metadata, a checkpoint repackaged by a third party with renamed fields, or case differences introduced by JSON tooling.
Related errors
- task {task!r} is not served by MiniMax H3 partition {self.pa
- {path} must be a non-empty list
- {path} must contain non-empty strings
- {path} must not contain duplicates
- model_index.json._minimax_h3 must be an object
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/12caf533f1431177.
Report an issue: GitHub.