diff options
Diffstat (limited to 'autogpt/core/resource/schema.py')
-rw-r--r-- | autogpt/core/resource/schema.py | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/autogpt/core/resource/schema.py b/autogpt/core/resource/schema.py deleted file mode 100644 index 0f97aedb0..000000000 --- a/autogpt/core/resource/schema.py +++ /dev/null @@ -1,57 +0,0 @@ -import abc -import enum - -from pydantic import SecretBytes, SecretField, SecretStr - -from autogpt.core.configuration import ( - SystemConfiguration, - SystemSettings, - UserConfigurable, -) - - -class ResourceType(str, enum.Enum): - """An enumeration of resource types.""" - - MODEL = "model" - MEMORY = "memory" - - -class ProviderUsage(SystemConfiguration, abc.ABC): - @abc.abstractmethod - def update_usage(self, *args, **kwargs) -> None: - """Update the usage of the resource.""" - ... - - -class ProviderBudget(SystemConfiguration): - total_budget: float = UserConfigurable() - total_cost: float - remaining_budget: float - usage: ProviderUsage - - @abc.abstractmethod - def update_usage_and_cost(self, *args, **kwargs) -> None: - """Update the usage and cost of the resource.""" - ... - - -class ProviderCredentials(SystemConfiguration): - """Struct for credentials.""" - - class Config: - json_encoders = { - SecretStr: lambda v: v.get_secret_value() if v else None, - SecretBytes: lambda v: v.get_secret_value() if v else None, - SecretField: lambda v: v.get_secret_value() if v else None, - } - - -class ProviderSettings(SystemSettings): - resource_type: ResourceType - credentials: ProviderCredentials | None = None - budget: ProviderBudget | None = None - - -# Used both by model providers and memory providers -Embedding = list[float] |