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

  1. Set partition to exactly "fl2va" or "ref2va" (lowercase) in _minimax_h3
  2. Pick the partition matching the checkpoint's trained task family
  3. 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

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


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/12caf533f1431177. Report an issue: GitHub.