aboutsummaryrefslogtreecommitdiff
path: root/autogpts/autogpt/autogpt/llm/api_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'autogpts/autogpt/autogpt/llm/api_manager.py')
-rw-r--r--autogpts/autogpt/autogpt/llm/api_manager.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/autogpts/autogpt/autogpt/llm/api_manager.py b/autogpts/autogpt/autogpt/llm/api_manager.py
index 3ce1cd831..1cfcdd755 100644
--- a/autogpts/autogpt/autogpt/llm/api_manager.py
+++ b/autogpts/autogpt/autogpt/llm/api_manager.py
@@ -3,7 +3,7 @@ from __future__ import annotations
import logging
from typing import List, Optional
-from openai import AzureOpenAI, OpenAI
+from openai import APIError, AzureOpenAI, OpenAI
from openai.types import Model
from autogpt.core.resource.model_providers.openai import (
@@ -106,7 +106,10 @@ class ApiManager(metaclass=Singleton):
Returns:
list[Model]: List of available GPT models.
"""
- if self.models is None:
+ if self.models is not None:
+ return self.models
+
+ try:
if openai_credentials.api_type == "azure":
all_models = (
AzureOpenAI(**openai_credentials.get_api_access_kwargs())
@@ -120,5 +123,8 @@ class ApiManager(metaclass=Singleton):
.data
)
self.models = [model for model in all_models if "gpt" in model.id]
+ except APIError as e:
+ logger.error(e.message)
+ exit(1)
return self.models