Get the default model for a provider. NO HARDCODED MODELS - All come from configuration. Args: provider: Provider name Returns: Default model name, or "default" if none found
(self, provider: str)
| 261 | return [] |
| 262 | |
| 263 | def get_default_model(self, provider: str) -> str: |
| 264 | """ |
| 265 | Get the default model for a provider. |
| 266 | |
| 267 | NO HARDCODED MODELS - All come from configuration. |
| 268 | |
| 269 | Args: |
| 270 | provider: Provider name |
| 271 | |
| 272 | Returns: |
| 273 | Default model name, or "default" if none found |
| 274 | """ |
| 275 | try: |
| 276 | # Check custom providers first |
| 277 | if provider in self._custom_providers: |
| 278 | config = self._custom_providers[provider] |
| 279 | if config.default_model: |
| 280 | return config.default_model |
| 281 | if config.has_models: |
| 282 | return config.models[0] |
| 283 | |
| 284 | # Use chuk_llm configuration |
| 285 | if self._chuk_config: |
| 286 | provider_config = self._chuk_config.get_provider(provider) # type: ignore[unreachable] |
| 287 | default = provider_config.default_model |
| 288 | if default: |
| 289 | return str(default) |
| 290 | |
| 291 | # Fallback: get first available model |
| 292 | available_models = self.get_available_models(provider) |
| 293 | return available_models[0] if available_models else "default" |
| 294 | |
| 295 | except Exception as e: |
| 296 | logger.warning(f"Could not get default model for {provider}: {e}") |
| 297 | # Last resort: try first available model |
| 298 | available_models = self.get_available_models(provider) |
| 299 | return available_models[0] if available_models else "default" |
| 300 | |
| 301 | async def refresh_models(self, provider: str | None = None) -> int: |
| 302 | """ |