mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-12 12:06:04 +00:00
fix(openai_mixin): no yelling for model listing if API keys are not provided
This commit is contained in:
parent
07fc8013eb
commit
097a636768
1 changed files with 16 additions and 7 deletions
|
|
@ -168,13 +168,7 @@ class OpenAIMixin(NeedsRequestProviderData, ABC, BaseModel):
|
||||||
is used instead of any config API key.
|
is used instead of any config API key.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
api_key = self.get_api_key()
|
api_key = self._get_api_key_from_config_or_provider_data()
|
||||||
|
|
||||||
if self.provider_data_api_key_field:
|
|
||||||
provider_data = self.get_request_provider_data()
|
|
||||||
if provider_data and getattr(provider_data, self.provider_data_api_key_field, None):
|
|
||||||
api_key = getattr(provider_data, self.provider_data_api_key_field)
|
|
||||||
|
|
||||||
if not api_key:
|
if not api_key:
|
||||||
message = "API key not provided."
|
message = "API key not provided."
|
||||||
if self.provider_data_api_key_field:
|
if self.provider_data_api_key_field:
|
||||||
|
|
@ -187,6 +181,16 @@ class OpenAIMixin(NeedsRequestProviderData, ABC, BaseModel):
|
||||||
**self.get_extra_client_params(),
|
**self.get_extra_client_params(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _get_api_key_from_config_or_provider_data(self) -> str | None:
|
||||||
|
api_key = self.get_api_key()
|
||||||
|
|
||||||
|
if self.provider_data_api_key_field:
|
||||||
|
provider_data = self.get_request_provider_data()
|
||||||
|
if provider_data and getattr(provider_data, self.provider_data_api_key_field, None):
|
||||||
|
api_key = getattr(provider_data, self.provider_data_api_key_field)
|
||||||
|
|
||||||
|
return api_key
|
||||||
|
|
||||||
async def _get_provider_model_id(self, model: str) -> str:
|
async def _get_provider_model_id(self, model: str) -> str:
|
||||||
"""
|
"""
|
||||||
Get the provider-specific model ID from the model store.
|
Get the provider-specific model ID from the model store.
|
||||||
|
|
@ -387,6 +391,11 @@ class OpenAIMixin(NeedsRequestProviderData, ABC, BaseModel):
|
||||||
"""
|
"""
|
||||||
self._model_cache = {}
|
self._model_cache = {}
|
||||||
|
|
||||||
|
api_key = self._get_api_key_from_config_or_provider_data()
|
||||||
|
if not api_key:
|
||||||
|
logger.debug(f"{self.__class__.__name__}.list_provider_model_ids() disabled because API key not provided")
|
||||||
|
return None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
iterable = await self.list_provider_model_ids()
|
iterable = await self.list_provider_model_ids()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue