tried to catch missing API key better

This commit is contained in:
Jason Schleifer
2024-12-21 12:40:59 +13:00
parent 9d8e84094e
commit b228394ffe
2 changed files with 9 additions and 1 deletions
+6
View File
@@ -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
+3 -1
View File
@@ -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):