MCPcopy Create free account
hub / github.com/IBM/mcp-cli / refresh_models

Method refresh_models

src/mcp_cli/model_management/model_manager.py:301–335  ·  view source on GitHub ↗

Manually refresh models for a provider. Args: provider: Provider name (refreshes active provider if None) Returns: Number of new models discovered

(self, provider: str | None = None)

Source from the content-addressed store, hash-verified

299 return available_models[0] if available_models else "default"
300
301 async def refresh_models(self, provider: str | None = None) -> int:
302 """
303 Manually refresh models for a provider.
304
305 Args:
306 provider: Provider name (refreshes active provider if None)
307
308 Returns:
309 Number of new models discovered
310 """
311 target_provider = provider or self._active_provider
312
313 # Check if it's a runtime/custom provider first
314 if target_provider and target_provider in self._custom_providers:
315 config = self._custom_providers[target_provider]
316 count = await ProviderDiscovery.refresh_provider_models(config)
317 if count is not None:
318 self._client_factory.clear_cache() # Clear cache after refresh
319 return count
320 return 0
321
322 # Use chuk_llm refresh for standard providers
323 if not target_provider:
324 logger.warning("No provider specified for refresh")
325 return 0
326
327 try:
328 from chuk_llm.api.providers import refresh_provider_functions
329
330 new_functions = refresh_provider_functions(target_provider)
331 logger.info(f"Refreshed {target_provider}: {len(new_functions)} functions")
332 return len(new_functions)
333 except Exception as e:
334 logger.error(f"Failed to refresh models for {target_provider}: {e}")
335 return 0
336
337 # ── Active Provider/Model Management ──────────────────────────────────────
338

Calls 2

clear_cacheMethod · 0.80