diff --git a/services/library-desk/src/clients/ollama_client.py b/services/library-desk/src/clients/ollama_client.py index f9f31e5..b5169aa 100644 --- a/services/library-desk/src/clients/ollama_client.py +++ b/services/library-desk/src/clients/ollama_client.py @@ -298,13 +298,22 @@ class OllamaClient: True if healthy, False otherwise """ try: - # Check server is up + # Check server is up and get models in one call response = await self.client.get(self.tags_url, timeout=5.0) response.raise_for_status() + data = response.json() + models = data.get("models", []) # Check model is available - models_available = await self.check_model_available() - if not models_available: + check_model = self.model + model_found = False + for m in models: + name = m.get("name", "") + if name == check_model or name.startswith(f"{check_model}:"): + model_found = True + break + + if not model_found: logger.warning(f"Model '{self.model}' not found in Ollama") return False