Skip to main content
To serve one model, pair it with a profile and deploy it directly with a ModelDeployment. No bundle is created. Create a bundle instead when you want to serve several models as one unit, configure speculative decoding, or validate and share a named configuration. See Create a custom bundle.

Prerequisites

Before deploying, complete the quickstart that applies to you:

Quickstart - Hosted

System set up for hosted SambaStack

Quickstart - On-prem

System set up for on-prem SambaStack
Additionally:

Deploy the model

1

Create the YAML file

Create a YAML file that declares the model and profile inline under spec.models:
A checkpoint path is not required, because the checkpoint is resolved from the referenced Model.startupTimeout is in seconds. The 7200 here gives the engine two hours to download and load the model before its startup probe fails, well above the 45-minute default. See Startup timeouts.
2

Apply the ModelDeployment

3

Monitor deployment status

The deployment is complete once all of its serving pods report a ready status.

Verify the deployment

Pods reporting ready means the serving containers started, not that the model answers requests. Confirm the serving name, then send one inference request.

Resolve the serving name

The name you send to the API is not the Kubernetes resource name. Three names are involved: Read the serving name from the Model you deployed:
Then confirm the gateway is serving it. Each id in the response is a servable name:
A model set to modelSettings.routable: false, such as a speculative decoding draft model, is deliberately absent from this list and cannot be addressed directly.

Send a request

Use the serving name in the model field:
A successful response returns the serving name in model and a populated choices[0].message:
The usage object carries additional throughput and latency fields; for the full body, and for the API domain to use in each environment, see Quickstart - Hosted or Quickstart - On-prem.
A model not found error with pods running usually means the request used metadata.name instead of spec.name. An inference error on a model that loads and lists usually means the checkpoint and the profile disagree on model_arch. See Deployment failures.

Update or remove the deployment

To change a deployment’s configuration, edit its YAML file and reapply it. The legalizer automatically revalidates the changes.
To remove the deployment:

Troubleshooting

A deployment created from an inline spec.models specification is legalized in place, so both classes of failure can apply to it. See Troubleshooting deployments for legalizer validation failures and deployment failures.

ModelDeployment

Full field reference for the deployment resource

Deploy a bundle

Serve several models together as one unit