Skip to content

Commit

Permalink
feat(agent/core): Allow zero-argument instantiation of OpenAIProvider
Browse files Browse the repository at this point in the history
  • Loading branch information
Pwuts committed Apr 18, 2024
1 parent 49a08ba commit 452df39
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions autogpts/autogpt/autogpt/core/resource/model_providers/openai.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -343,7 +348,7 @@ def __init__(

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."""
Expand Down

0 comments on commit 452df39

Please sign in to comment.