diff options
author | Reinier van der Leer <pwuts@agpt.co> | 2024-04-18 21:35:11 +0200 |
---|---|---|
committer | Reinier van der Leer <pwuts@agpt.co> | 2024-04-18 21:35:11 +0200 |
commit | 452df39a524747652994190cd9afbb16246f9aa0 (patch) | |
tree | a828aeef037b000807c45a7f849ef88108a25233 | |
parent | refactor(agent): Remove redundant parsing functions in config classes (diff) | |
download | Auto-GPT-452df39a524747652994190cd9afbb16246f9aa0.tar.gz Auto-GPT-452df39a524747652994190cd9afbb16246f9aa0.tar.bz2 Auto-GPT-452df39a524747652994190cd9afbb16246f9aa0.zip |
feat(agent/core): Allow zero-argument instantiation of `OpenAIProvider`
-rw-r--r-- | autogpts/autogpt/autogpt/core/resource/model_providers/openai.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/autogpts/autogpt/autogpt/core/resource/model_providers/openai.py b/autogpts/autogpt/autogpt/core/resource/model_providers/openai.py index cd01b496a..b974e6e03 100644 --- a/autogpts/autogpt/autogpt/core/resource/model_providers/openai.py +++ b/autogpts/autogpt/autogpt/core/resource/model_providers/openai.py @@ -319,15 +319,20 @@ class OpenAIProvider( _budget: ModelProviderBudget _configuration: OpenAIConfiguration + _credentials: OpenAICredentials def __init__( self, - settings: OpenAISettings, - logger: logging.Logger, + settings: Optional[OpenAISettings] = None, + logger: Optional[logging.Logger] = None, ): + if not settings: + settings = self.default_settings.copy(deep=True) + if not settings.credentials: + settings.credentials = OpenAICredentials.from_env() + self._settings = settings - assert settings.credentials, "Cannot create OpenAIProvider without credentials" self._configuration = settings.configuration self._credentials = settings.credentials self._budget = settings.budget @@ -343,7 +348,7 @@ class OpenAIProvider( self._client = AsyncOpenAI(**self._credentials.get_api_access_kwargs()) - self._logger = logger + self._logger = logger or logging.getLogger(__name__) def get_token_limit(self, model_name: str) -> int: """Get the token limit for a given model.""" |