mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-17 05:54:26 +01:00
feat(agent/core): Allow zero-argument instantiation of OpenAIProvider
This commit is contained in:
@@ -319,15 +319,20 @@ class OpenAIProvider(
|
|||||||
|
|
||||||
_budget: ModelProviderBudget
|
_budget: ModelProviderBudget
|
||||||
_configuration: OpenAIConfiguration
|
_configuration: OpenAIConfiguration
|
||||||
|
_credentials: OpenAICredentials
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
settings: OpenAISettings,
|
settings: Optional[OpenAISettings] = None,
|
||||||
logger: logging.Logger,
|
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
|
self._settings = settings
|
||||||
|
|
||||||
assert settings.credentials, "Cannot create OpenAIProvider without credentials"
|
|
||||||
self._configuration = settings.configuration
|
self._configuration = settings.configuration
|
||||||
self._credentials = settings.credentials
|
self._credentials = settings.credentials
|
||||||
self._budget = settings.budget
|
self._budget = settings.budget
|
||||||
@@ -343,7 +348,7 @@ class OpenAIProvider(
|
|||||||
|
|
||||||
self._client = AsyncOpenAI(**self._credentials.get_api_access_kwargs())
|
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:
|
def get_token_limit(self, model_name: str) -> int:
|
||||||
"""Get the token limit for a given model."""
|
"""Get the token limit for a given model."""
|
||||||
|
|||||||
Reference in New Issue
Block a user