diff --git a/invokeai/backend/model_manager/config.py b/invokeai/backend/model_manager/config.py index a326d007428..10f09908965 100644 --- a/invokeai/backend/model_manager/config.py +++ b/invokeai/backend/model_manager/config.py @@ -303,10 +303,7 @@ def __init__(self, **fields): def get_tag(cls) -> Tag: type = cls.model_fields["type"].default.value format = cls.model_fields["format"].default.value - variant = cls.model_fields.get("variant") - if not variant: - return Tag(f"{type}.{format}") - return Tag(f"{type}.{format}.{variant.default.value}") + return Tag(f"{type}.{format}") @classmethod @abstractmethod @@ -559,11 +556,19 @@ class CLIPGEmbedDiffusersConfig(CLIPEmbedDiffusersConfig): """Model config for CLIP-G Embeddings.""" variant: ClipVariantType = ClipVariantType.G + @classmethod + def get_tag(cls) -> Tag: + return Tag(f"{ModelType.CLIPEmbed.value}.{ModelFormat.Diffusers.value}.{ClipVariantType.G.value}") + @legacy_probe class CLIPLEmbedDiffusersConfig(CLIPEmbedDiffusersConfig): """Model config for CLIP-L Embeddings.""" - variant: ClipVariantType = ClipVariantType.L + variant: ClipVariantType = ClipVariantType.L.value + + @classmethod + def get_tag(cls) -> Tag: + return Tag(f"{ModelType.CLIPEmbed.value}.{ModelFormat.Diffusers.value}.{ClipVariantType.L.value}") @legacy_probe @@ -613,7 +618,8 @@ def get_model_discriminator_value(v: Any) -> str: type_ = v.type.value variant_ = getattr(v, "variant", None) - if variant_: + # special case, ideally would return + if type_ == ModelType.CLIPEmbed.value and format_ == ModelFormat.Diffusers.value and variant_: return f"{type_}.{format_}.{variant_}" return f"{type_}.{format_}" diff --git a/tests/test_model_probe.py b/tests/test_model_probe.py index 1706cb654c6..2bd08efd378 100644 --- a/tests/test_model_probe.py +++ b/tests/test_model_probe.py @@ -133,7 +133,7 @@ def test_minimal_working_example(datadir: Path): assert isinstance(config, MinimalConfigExample) assert config.base == BaseModelType.StableDiffusion1 assert config.path == model_path.as_posix() - assert config.quote == "Minimal working example of a ModelConfigBase subclass" + assert config.fun_quote == "Minimal working example of a ModelConfigBase subclass"