Skip to content

Commit e81579f

Browse files
fix(mm): handle invoke syntax for HF repo ids when fetching HF model metadata
Closes #8074
1 parent 9a10e98 commit e81579f

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

invokeai/backend/model_manager/metadata/fetch/huggingface.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,14 @@ def from_id(self, id: str, variant: Optional[ModelRepoVariant] = None) -> AnyMod
6262
# If this too fails, raise exception.
6363

6464
model_info = None
65+
66+
# Handling for our special syntax - we only want the base HF `org/repo` here.
67+
repo_id = id.split("::")[0] or id
6568
while not model_info:
6669
try:
67-
model_info = HfApi().model_info(repo_id=id, files_metadata=True, revision=variant)
70+
model_info = HfApi().model_info(repo_id=repo_id, files_metadata=True, revision=variant)
6871
except RepositoryNotFoundError as excp:
69-
raise UnknownMetadataException(f"'{id}' not found. See trace for details.") from excp
72+
raise UnknownMetadataException(f"'{repo_id}' not found. See trace for details.") from excp
7073
except RevisionNotFoundError:
7174
if variant is None:
7275
raise
@@ -75,14 +78,14 @@ def from_id(self, id: str, variant: Optional[ModelRepoVariant] = None) -> AnyMod
7578

7679
files: list[RemoteModelFile] = []
7780

78-
_, name = id.split("/")
81+
_, name = repo_id.split("/")
7982

8083
for s in model_info.siblings or []:
8184
assert s.rfilename is not None
8285
assert s.size is not None
8386
files.append(
8487
RemoteModelFile(
85-
url=hf_hub_url(id, s.rfilename, revision=variant or "main"),
88+
url=hf_hub_url(repo_id, s.rfilename, revision=variant or "main"),
8689
path=Path(name, s.rfilename),
8790
size=s.size,
8891
sha256=s.lfs.get("sha256") if s.lfs else None,

0 commit comments

Comments
 (0)