SAMLLMHostCompute
SAM model of the LLMHostCompute kind, generated from the Smarter platform’s JSON Schema.
Do not edit: run scripts/generate_sam_models.py. See smarter.models.sam.
- class smarter.models.sam.llmhostcompute.SAMDependency(*, kind: str, name: str, **extra_data: Any)[source]
Bases:
SAMModelA resource that depends on the resource that a manifest describes.
- kind: str
Kind[String]: The SAM kind of the resource that depends on this resource, e.g. LLMClient.
Read only.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeCost(*, currency: str | None = 'USD', perHour: Annotated[float, None, Interval(gt=None, ge=0.0, lt=None, le=None), None, None] | str | None = None)[source]
Bases:
SAMModelSpec.cost: the price of one node, from which LLMHosts’ costs are reported.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeGpu(*, count: Annotated[int, None, Interval(gt=None, ge=1, lt=None, le=16), None], memoryGb: Annotated[int, None, Interval(gt=None, ge=1, lt=None, le=None), None], resource: str | None = 'nvidia.com/gpu', type: str)[source]
Bases:
SAMModelSpec.node.gpu: the node’s GPUs.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- count: conint(ge=1, le=16)
LLMHostCompute.spec.node.gpu.count[int]: the node’s GPUs.
- memoryGb: conint(ge=1)
LLMHostCompute.spec.node.gpu.memoryGb[int]: the memory of one GPU, in GB.
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeMetadata(*, annotations: None | list[dict[str, str | int | float | bool | date | datetime | UUID | bytes | list | dict[str, Any]]] = None, description: str | None, name: str, tags: list[str] | None = None, version: str | None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API LLMHostCompute Manifest - Metadata class.
- annotations: None | list[dict[str, str | int | float | bool | date | datetime | UUID | bytes | list | dict[str, Any]]]
The manifest annotations.
- Used for storing arbitrary metadata as
key-value pairs. Example: [{‘smarter.sh/test-manifest/project-name’: ‘Scooby dooby do’}]. The key should be a valid url-friendly string. The value accepts multi-line string values (YAML block scalars) and various scalar types including str, int, float, bool, datetime.date, datetime.datetime, decimal.Decimal, uuid.UUID, bytes, list, dict.
- tags: list[str] | None
The tags of the manifest.
Used for generic resource categorization and search. Example: [‘tag1’, ‘tag2’]
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeNode(*, amiType: str | None = None, capacityType: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^(ON_DEMAND|SPOT)$, ascii_only=None)] | None = 'ON_DEMAND', cpu: ~typing.Annotated[int, None, ~annotated_types.Interval(gt=None, ge=1, lt=None, le=None), None], diskSizeGb: ~typing.Annotated[int, None, ~annotated_types.Interval(gt=None, ge=20, lt=None, le=None), None] | None = 100, gpu: ~smarter.models.sam.llmhostcompute.SAMLLMHostComputeGpu | None = None, instanceType: str, memoryGb: ~typing.Annotated[int, None, ~annotated_types.Interval(gt=None, ge=1, lt=None, le=None), None])[source]
Bases:
SAMModelSpec.node: the kind of node.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- amiType: str | None
LLMHostCompute.spec.node.amiType[str]: e.g. AL2023_x86_64_NVIDIA.
Defaults to the NVIDIA AMI for a GPU node, else the standard AMI.
- capacityType: constr(pattern='^(ON_DEMAND|SPOT)$') | None
LLMHostCompute.spec.node.capacityType[str]: ON_DEMAND or SPOT.
- cpu: conint(ge=1)
LLMHostCompute.spec.node.cpu[int]: the node’s vCPUs.
- diskSizeGb: conint(ge=20) | None
LLMHostCompute.spec.node.diskSizeGb[int]: the node’s root volume, for container images.
Model weights are on the LLMHosts’ own volumes.
- gpu: SAMLLMHostComputeGpu | None
LLMHostCompute.spec.node.gpu[object]: the node’s GPUs.
None for a CPU node.
- memoryGb: conint(ge=1)
LLMHostCompute.spec.node.memoryGb[int]: the node’s memory, in GiB.
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeNodeGroup(*, maxNodes: Annotated[int, None, Interval(gt=None, ge=1, lt=None, le=100), None] | None = 4, subnetIds: list[str] | None = None)[source]
Bases:
SAMModelSpec.nodeGroup: the node group of the nodes.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeSpec(*, cost: SAMLLMHostComputeCost | None = None, node: SAMLLMHostComputeNode, nodeGroup: SAMLLMHostComputeNodeGroup | None = None)[source]
Bases:
SAMModelSmarter API LLMHostCompute Manifest LLMHostCompute.spec.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- cost: SAMLLMHostComputeCost | None
LLMHostCompute.spec.cost[object]: for reporting.
- node: SAMLLMHostComputeNode
LLMHostCompute.spec.node[object]: the kind of node.
- nodeGroup: SAMLLMHostComputeNodeGroup | None
LLMHostCompute.spec.nodeGroup[object]: the node group of the nodes.
- class smarter.models.sam.llmhostcompute.SAMLLMHostComputeStatus(*, accountNumber: str, created: datetime, dependencies: list[SAMDependency] | None = None, desiredNodes: int | None = None, lastReconciledAt: datetime | None = None, llmhosts: int | None = None, message: str | None = None, modified: datetime, nodeGroupName: str | None = None, nodeGroupStatus: str | None = None, readyNodes: int | None = None, recordLocator: str, username: str, **extra_data: Any)[source]
Bases:
SAMModelSmarter API LLMHostCompute Manifest - Status class.
Read only. Besides ownership, it reports the node group, as of its most recent reconcile.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- accountNumber: str
LLMHostCompute.status.account_number: The account owner of this LLMHostCompute.
Read only.
- created: datetime
The date in which this resource was created.
Read only.
- dependencies: list[SAMDependency] | None
Dependencies[List]: The resources that depend on this resource, and that must be deleted, or stop referring to it, before it can be deleted.
Lists only the resources that you can read. Read only.
- desiredNodes: int | None
LLMHostCompute.status.desiredNodes: the node group’s desired size. Read only.
- lastReconciledAt: datetime | None
LLMHostCompute.status.lastReconciledAt: when it was last reconciled.
Read only.
- modified: datetime
The date in which this resource was most recently changed.
Read only.
- nodeGroupName: str | None
LLMHostCompute.status.nodeGroupName: the cloud’s name of the node group.
Read only.
- nodeGroupStatus: str | None
LLMHostCompute.status.nodeGroupStatus: e.g. absent, CREATING or ACTIVE.
Read only.
- readyNodes: int | None
LLMHostCompute.status.readyNodes: the nodes that have joined the cluster.
Read only.
- class smarter.models.sam.llmhostcompute.SAMLLMHostCompute(*, apiVersion: str, kind: str, metadata: SAMLLMHostComputeMetadata, spec: SAMLLMHostComputeSpec, status: SAMLLMHostComputeStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - LLMHostCompute.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMLLMHostComputeMetadata
LLMHostCompute.metadata[obj]: Required, the LLMHostCompute metadata.
- spec: SAMLLMHostComputeSpec
LLMHostCompute.spec[obj]: Required, the LLMHostCompute specification.
- status: SAMLLMHostComputeStatus | None
LLMHostCompute.status[obj]: Optional, Read-only.
Stateful status information about the LLMHostCompute.