Given a list of candidate models for a tier, return the first one backed by a user key. Returns (model_id, provider_entry) or (None, None) if no match.
(
tier_models: list[str],
user_config: ProvidersConfig,
)
| 171 | |
| 172 | |
| 173 | def select_preferred_model( |
| 174 | tier_models: list[str], |
| 175 | user_config: ProvidersConfig, |
| 176 | ) -> tuple[str | None, ProviderEntry | None]: |
| 177 | """Given a list of candidate models for a tier, return the first one backed by a user key. |
| 178 | |
| 179 | Returns (model_id, provider_entry) or (None, None) if no match. |
| 180 | """ |
| 181 | keyed = user_config.keyed_models() |
| 182 | for model in tier_models: |
| 183 | if model in keyed: |
| 184 | return model, user_config.get_for_model(model) |
| 185 | return None, None |
| 186 | |
| 187 | |
| 188 | def verify_key(base_url: str, api_key: str) -> tuple[bool, str]: |