fix model cards not validating properly after #2071 (#2096)

This commit is contained in:
Evan Quiney
2026-05-15 16:17:35 +01:00
committed by GitHub
parent 5097b2665d
commit 90f24bef30

View File

@@ -81,8 +81,10 @@ class _CardCache:
card = card.model_copy(update={"is_custom": True})
if self.get(card.model_id) is None:
self.cc[card.model_id] = card
except (ValidationError, TOMLKitError):
pass
except (ValidationError, TOMLKitError) as e:
logger.opt(exception=e).warning(
f"failed to validate model card at {toml_file}"
)
async def refresh(self) -> None:
for path in _BUILTIN_CARD_DIRS:
@@ -197,6 +199,11 @@ class ModelCard(FrozenModel):
def _validate_tasks(cls, v: list[str | ModelTask]) -> list[ModelTask]:
return [item if isinstance(item, ModelTask) else ModelTask(item) for item in v]
@field_validator("backends", mode="before")
@classmethod
def _validate_backends(cls, v: list[str | Backend]) -> list[Backend]:
return [item if isinstance(item, Backend) else Backend(item) for item in v]
async def save(self, path: Path) -> None:
async with await open_file(path, "w") as f:
py = self.model_dump(exclude_none=True, exclude={"is_custom"})