aboutsummaryrefslogtreecommitdiff
path: root/autogpt/core/resource/schema.py
diff options
context:
space:
mode:
Diffstat (limited to 'autogpt/core/resource/schema.py')
-rw-r--r--autogpt/core/resource/schema.py57
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]