chore: import upstream snapshot with attribution
PR Test (NPU) / check-changes (push) Has been cancelled
PR Test (NPU) / pr-gate (push) Has been cancelled
PR Test (NPU) / set-image-config (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-4-npu-a3 (push) Has been cancelled
PR Test (NPU) / stage-b-test-16-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-2-npu-a3 (push) Has been cancelled
PR Test (Arm64) / pr-gate (push) Has been cancelled
PR Test (Arm64) / check-changes (push) Has been cancelled
PR Test (Arm64) / build-test (push) Has been cancelled
PR Test (sgl-router) / gate (push) Has been cancelled
PR Test (sgl-router) / tier-1 — lint (push) Has been cancelled
PR Test (sgl-router) / tier-2 — build + test (push) Has been cancelled
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Has been cancelled
PR Test (sgl-router) / tier-3 — k8s integration (push) Has been cancelled
PR Test (sgl-router) / tier-3 — e2e (push) Has been cancelled
PR Test (sgl-router) / finish (push) Has been cancelled
PR Test (NPU) / single-node-poc (map[name:qwen3_6_27b_w8a8_1p_in64k_out1k_50ms runner:linux-aarch64-a3-2 test_case:test/registered/ascend/performance/qwen3_6_27b/test_npu_qwen3_6_27b_w8a8_1p_in64k_out1k_50ms.py test_type:perf]) (push) Has been cancelled
PR Test (NPU) / pr-test-npu-finish (push) Has been cancelled
PR Test (Xeon) / pr-gate (push) Has been cancelled
PR Test (Xeon) / check-changes (push) Has been cancelled
PR Test (Xeon) / build-test (, xeon-gnr, base-b-test-cpu) (push) Has been cancelled
PR Test (XPU) / check-changes (push) Has been cancelled
PR Test (XPU) / pr-gate (push) Has been cancelled
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / wait-for-stage-a (push) Has been cancelled
PR Test (XPU) / stage-b-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / finish (push) Has been cancelled
CI Model Inventory / build-inventory (push) Has been cancelled
Lint / lint (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Compilation Check (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Manual Policy (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Request Processing (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Summary (push) Has been cancelled
PR Test (SMG) / build-wheel (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on windows (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (x86_64 - auto) (push) Has been cancelled
PR Test (SMG) / python-unit-tests (push) Has been cancelled
PR Test (SMG) / unit-tests (push) Has been cancelled
PR Test (SMG) / benchmarks (push) Has been cancelled
PR Test (SMG) / chat-completions (push) Has been cancelled
PR Test (SMG) / chat-completions-4gpu (push) Has been cancelled
PR Test (SMG) / e2e (push) Has been cancelled
PR Test (SMG) / docker-build-test (push) Has been cancelled
PR Test (SMG) / k8s-integration (push) Has been cancelled
PR Test (SMG) / finish (push) Has been cancelled
PR Test (SMG) / summarize-benchmarks (push) Has been cancelled
Release SGLang Model Gateway Docker Image / publish (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Build SDist (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Upload to PyPI (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (aarch64, 12.9, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (x86_64, 12.9, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu129 (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (aarch64, 13.0, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (x86_64, 13.0, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu130 (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 700) (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 720) (push) Has been cancelled
Release SGLang Kernels / release-rocm700 (push) Has been cancelled
Release SGLang Kernels / release-rocm720 (push) Has been cancelled
Release SGLang Kernels / build-musa43 (43, 3.10) (push) Has been cancelled
Release SGLang Kernels / release-musa43 (push) Has been cancelled
PR Test (NPU) / check-changes (push) Has been cancelled
PR Test (NPU) / pr-gate (push) Has been cancelled
PR Test (NPU) / set-image-config (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-4-npu-a3 (push) Has been cancelled
PR Test (NPU) / stage-b-test-16-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-2-npu-a3 (push) Has been cancelled
PR Test (Arm64) / pr-gate (push) Has been cancelled
PR Test (Arm64) / check-changes (push) Has been cancelled
PR Test (Arm64) / build-test (push) Has been cancelled
PR Test (sgl-router) / gate (push) Has been cancelled
PR Test (sgl-router) / tier-1 — lint (push) Has been cancelled
PR Test (sgl-router) / tier-2 — build + test (push) Has been cancelled
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Has been cancelled
PR Test (sgl-router) / tier-3 — k8s integration (push) Has been cancelled
PR Test (sgl-router) / tier-3 — e2e (push) Has been cancelled
PR Test (sgl-router) / finish (push) Has been cancelled
PR Test (NPU) / single-node-poc (map[name:qwen3_6_27b_w8a8_1p_in64k_out1k_50ms runner:linux-aarch64-a3-2 test_case:test/registered/ascend/performance/qwen3_6_27b/test_npu_qwen3_6_27b_w8a8_1p_in64k_out1k_50ms.py test_type:perf]) (push) Has been cancelled
PR Test (NPU) / pr-test-npu-finish (push) Has been cancelled
PR Test (Xeon) / pr-gate (push) Has been cancelled
PR Test (Xeon) / check-changes (push) Has been cancelled
PR Test (Xeon) / build-test (, xeon-gnr, base-b-test-cpu) (push) Has been cancelled
PR Test (XPU) / check-changes (push) Has been cancelled
PR Test (XPU) / pr-gate (push) Has been cancelled
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / wait-for-stage-a (push) Has been cancelled
PR Test (XPU) / stage-b-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / finish (push) Has been cancelled
CI Model Inventory / build-inventory (push) Has been cancelled
Lint / lint (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Compilation Check (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Manual Policy (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Request Processing (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Summary (push) Has been cancelled
PR Test (SMG) / build-wheel (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on windows (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (x86_64 - auto) (push) Has been cancelled
PR Test (SMG) / python-unit-tests (push) Has been cancelled
PR Test (SMG) / unit-tests (push) Has been cancelled
PR Test (SMG) / benchmarks (push) Has been cancelled
PR Test (SMG) / chat-completions (push) Has been cancelled
PR Test (SMG) / chat-completions-4gpu (push) Has been cancelled
PR Test (SMG) / e2e (push) Has been cancelled
PR Test (SMG) / docker-build-test (push) Has been cancelled
PR Test (SMG) / k8s-integration (push) Has been cancelled
PR Test (SMG) / finish (push) Has been cancelled
PR Test (SMG) / summarize-benchmarks (push) Has been cancelled
Release SGLang Model Gateway Docker Image / publish (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Build SDist (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Upload to PyPI (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (aarch64, 12.9, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (x86_64, 12.9, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu129 (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (aarch64, 13.0, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (x86_64, 13.0, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu130 (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 700) (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 720) (push) Has been cancelled
Release SGLang Kernels / release-rocm700 (push) Has been cancelled
Release SGLang Kernels / release-rocm720 (push) Has been cancelled
Release SGLang Kernels / build-musa43 (43, 3.10) (push) Has been cancelled
Release SGLang Kernels / release-musa43 (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
---
|
||||
title: "Amazon SageMaker AI"
|
||||
description: "Deploy SGLang on Amazon SageMaker AI endpoints using the AWS Deep Learning Container."
|
||||
---
|
||||
|
||||
Deploy SGLang on [Amazon SageMaker AI](https://aws.amazon.com/sagemaker/) endpoints using the
|
||||
[AWS Deep Learning Container (DLC)](https://aws.github.io/deep-learning-containers/sglang/) for SGLang.
|
||||
The SageMaker image variant accepts model configuration via environment variables and serves on port 8080.
|
||||
|
||||
This guide uses the pre-built DLC image. To build and deploy your own container instead, see
|
||||
[Method 7: Run on AWS SageMaker](/docs/get-started/install#more-3) in the installation guide.
|
||||
|
||||
## Container image
|
||||
|
||||
AWS publishes pre-built, security-patched SGLang DLCs. The SageMaker GPU image is available from the
|
||||
Amazon ECR registry (account `763104351884`) in each supported region. For example, in `us-west-2`:
|
||||
|
||||
```text
|
||||
763104351884.dkr.ecr.us-west-2.amazonaws.com/sglang:server-sagemaker-cuda-v1.0
|
||||
```
|
||||
|
||||
For the full list of image tags, see the
|
||||
[Available DLC Images](https://aws.github.io/deep-learning-containers/reference/available_images/) reference,
|
||||
and for region-specific account IDs and supported regions, see
|
||||
[Region Availability](https://aws.github.io/deep-learning-containers/reference/region_availability/).
|
||||
|
||||
## Specifying the model
|
||||
|
||||
The SageMaker image resolves the model in this order:
|
||||
|
||||
1. **`SM_SGLANG_MODEL_PATH` environment variable** — explicit Hugging Face ID or path.
|
||||
2. **`/opt/ml/model`** — when SageMaker mounts model artifacts via `ModelDataUrl` or `ModelDataSource`,
|
||||
the entrypoint uses this path by default.
|
||||
|
||||
For gated models, also pass `HF_TOKEN`.
|
||||
|
||||
Any `SM_SGLANG_*` environment variable is converted to a `--<name>` SGLang server argument
|
||||
(for example, `SM_SGLANG_CONTEXT_LENGTH=4096` becomes `--context-length 4096`).
|
||||
|
||||
## Deploy with the SageMaker Python SDK
|
||||
|
||||
```python
|
||||
from sagemaker.model import Model
|
||||
from sagemaker.predictor import Predictor
|
||||
from sagemaker.serializers import JSONSerializer
|
||||
|
||||
model = Model(
|
||||
image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/sglang:server-sagemaker-cuda-v1.0",
|
||||
role="arn:aws:iam::<account_id>:role/<role_name>",
|
||||
predictor_cls=Predictor,
|
||||
env={"SM_SGLANG_MODEL_PATH": "openai/gpt-oss-20b"},
|
||||
)
|
||||
|
||||
predictor = model.deploy(
|
||||
instance_type="ml.g5.2xlarge",
|
||||
initial_instance_count=1,
|
||||
inference_ami_version="al2023-ami-sagemaker-inference-gpu-4-1",
|
||||
serializer=JSONSerializer(),
|
||||
)
|
||||
|
||||
response = predictor.predict({
|
||||
"model": "openai/gpt-oss-20b",
|
||||
"messages": [{"role": "user", "content": "What is deep learning?"}],
|
||||
"max_tokens": 256,
|
||||
})
|
||||
print(response)
|
||||
|
||||
# Cleanup
|
||||
predictor.delete_model()
|
||||
predictor.delete_endpoint(delete_endpoint_config=True)
|
||||
```
|
||||
|
||||
## Deploy with Boto3
|
||||
|
||||
```python
|
||||
import json
|
||||
import boto3
|
||||
|
||||
sm = boto3.client("sagemaker")
|
||||
smrt = boto3.client("sagemaker-runtime")
|
||||
|
||||
sm.create_model(
|
||||
ModelName="sglang-model",
|
||||
PrimaryContainer={
|
||||
"Image": "763104351884.dkr.ecr.us-west-2.amazonaws.com/sglang:server-sagemaker-cuda-v1.0",
|
||||
"Environment": {"SM_SGLANG_MODEL_PATH": "openai/gpt-oss-20b"},
|
||||
},
|
||||
ExecutionRoleArn="arn:aws:iam::<account_id>:role/<role_name>",
|
||||
)
|
||||
|
||||
sm.create_endpoint_config(
|
||||
EndpointConfigName="sglang-config",
|
||||
ProductionVariants=[{
|
||||
"VariantName": "default",
|
||||
"ModelName": "sglang-model",
|
||||
"InstanceType": "ml.g5.2xlarge",
|
||||
"InitialInstanceCount": 1,
|
||||
"InferenceAmiVersion": "al2023-ami-sagemaker-inference-gpu-4-1",
|
||||
}],
|
||||
)
|
||||
|
||||
sm.create_endpoint(EndpointName="sglang-endpoint", EndpointConfigName="sglang-config")
|
||||
sm.get_waiter("endpoint_in_service").wait(EndpointName="sglang-endpoint")
|
||||
|
||||
resp = smrt.invoke_endpoint(
|
||||
EndpointName="sglang-endpoint",
|
||||
ContentType="application/json",
|
||||
Body=json.dumps({
|
||||
"model": "openai/gpt-oss-20b",
|
||||
"messages": [{"role": "user", "content": "What is deep learning?"}],
|
||||
"max_tokens": 256,
|
||||
}),
|
||||
)
|
||||
print(json.loads(resp["Body"].read()))
|
||||
|
||||
# Cleanup
|
||||
sm.delete_endpoint(EndpointName="sglang-endpoint")
|
||||
sm.delete_endpoint_config(EndpointConfigName="sglang-config")
|
||||
sm.delete_model(ModelName="sglang-model")
|
||||
```
|
||||
|
||||
## Model artifacts
|
||||
|
||||
When `ModelDataUrl` (or `ModelDataSource`) points to a tarball or S3 prefix, SageMaker mounts the contents
|
||||
at `/opt/ml/model`. The entrypoint defaults `--model-path` to that location, so `SM_SGLANG_MODEL_PATH`
|
||||
can be omitted:
|
||||
|
||||
```text
|
||||
model.tar.gz
|
||||
├── config.json # standard model files (Hugging Face layout)
|
||||
├── tokenizer.json
|
||||
└── *.safetensors
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- GPU deployments require `inference_ami_version` — the default SageMaker host AMI has incompatible NVIDIA
|
||||
drivers for CUDA 13 images. See the
|
||||
[ProductionVariant API reference](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html)
|
||||
for valid values.
|
||||
- The endpoint exposes an OpenAI-compatible API, so the request body matches the SGLang server's
|
||||
`/v1/chat/completions` schema.
|
||||
Reference in New Issue
Block a user