diff --git a/backend/open_webui/routers/ollama.py b/backend/open_webui/routers/ollama.py index 0d5e2c243..1410831d7 100644 --- a/backend/open_webui/routers/ollama.py +++ b/backend/open_webui/routers/ollama.py @@ -391,18 +391,21 @@ async def get_all_models(request: Request, user: UserModel = None): ) } - loaded_models = await get_ollama_loaded_models(request, user=user) - expires_map = { - m["name"]: m["expires_at"] - for m in loaded_models["models"] - if "expires_at" in m - } + try: + loaded_models = await get_ollama_loaded_models(request, user=user) + expires_map = { + m["name"]: m["expires_at"] + for m in loaded_models["models"] + if "expires_at" in m + } - for m in models["models"]: - if m["name"] in expires_map: - # Parse ISO8601 datetime with offset, get unix timestamp as int - dt = datetime.fromisoformat(expires_map[m["name"]]) - m["expires_at"] = int(dt.timestamp()) + for m in models["models"]: + if m["name"] in expires_map: + # Parse ISO8601 datetime with offset, get unix timestamp as int + dt = datetime.fromisoformat(expires_map[m["name"]]) + m["expires_at"] = int(dt.timestamp()) + except Exception as e: + log.debug(f"Failed to get loaded models: {e}") else: models = {"models": []}