diff --git a/nodes/utils/openai_utils.py b/nodes/utils/openai_utils.py index 513328e..8dfff3f 100644 --- a/nodes/utils/openai_utils.py +++ b/nodes/utils/openai_utils.py @@ -4,6 +4,8 @@ from openai import OpenAI from openai.types import AudioModel, ChatModel, EmbeddingModel, ImageModel from openai.types.audio.speech_model import SpeechModel +from ...py.griptape_settings import GriptapeSettings + # Define the valid model types as a Literal ModelTypes = Literal[ "ChatModel", "AudioModel", "ImageModel", "EmbeddingModel", "SpeechModel" @@ -28,6 +30,10 @@ def get_available_models(model_type: ModelTypes) -> list: "SpeechModel": SpeechModel, } + settings = GriptapeSettings() + api_key = settings.get("OPENAI_API_KEY") + if api_key is None: + return [] client = OpenAI() available_models = client.models.list().data diff --git a/py/griptape_settings.py b/py/griptape_settings.py index a918f68..26286df 100644 --- a/py/griptape_settings.py +++ b/py/griptape_settings.py @@ -107,7 +107,9 @@ class GriptapeSettings: self.save_settings() if not api_key: - raise ValueError(f"Environment variable {env} is not set") + print(f" \033[34m- \033[92m[WARNING]: {env} is not set\033[0m\n") + return None + # raise ValueError(f"Environment variable {env} is not set") return api_key def get_all_services(self):