fix: image model ranking crashes when system is not a dict (#1900)

This commit is contained in:
Afonso Coutinho
2026-06-04 03:23:59 +01:00
committed by GitHub
parent be8f1fac85
commit 5043b2924c
2 changed files with 11 additions and 0 deletions

View File

@@ -280,6 +280,8 @@ def rank_image_models(system, search=None, sort="fit"):
Returns list of models with fit info (vram needed, fits, recommended quant).
"""
if not isinstance(system, dict):
system = {}
gpu_vram = system.get("gpu_vram_gb", 0) or 0
has_gpu = system.get("has_gpu", False)
results = []

View File

@@ -0,0 +1,9 @@
from services.hwfit.image_models import rank_image_models, IMAGE_MODEL_REGISTRY
def test_rank_image_models_handles_non_dict_system():
# `system` is the detected-hardware dict; if detection failed and returned
# None (or a non-dict), system.get(...) raised AttributeError. Treat a
# non-dict system as "unknown hardware" (no GPU) rather than crashing.
assert len(rank_image_models(None)) == len(IMAGE_MODEL_REGISTRY)
assert len(rank_image_models(123)) == len(IMAGE_MODEL_REGISTRY)