Skip to main content

ServerArgs

The ServerArgs class contains all configuration options for launching an SGLang server or engine. These arguments control model loading, memory management, parallelism, kernel backends, and optimization settings.

Usage

Model and Tokenizer

str
required
Path to the model on Hugging Face Hub or local filesystem.
Optional[str]
default:"None"
Path to tokenizer. Defaults to model_path if not specified.
str
default:"auto"
Tokenizer mode. Options: "auto", "slow", "fast".
bool
default:"False"
Skip tokenizer initialization. Useful when passing pre-tokenized input_ids.
str
default:"auto"
Model weight loading format.Options: "auto", "pt", "safetensors", "npcache", "dummy", "gguf", "bitsandbytes"
bool
default:"False"
Trust remote code when loading models from Hugging Face.
Optional[int]
default:"None"
Maximum context length. Auto-detected from model config if not specified.
Optional[str]
default:"None"
Model revision (branch, tag, or commit) to use from Hugging Face.

HTTP Server

str
default:"127.0.0.1"
Server host address.
int
default:"30000"
Server port number.
Optional[str]
default:"None"
API key for authentication.
Optional[str]
default:"None"
Model name to report in API responses. Defaults to model_path.

Data Type and Quantization

str
default:"auto"
Data type for model weights and computation.Options: "auto", "float16", "bfloat16", "float32"
Optional[str]
default:"None"
Quantization method.Options: "awq", "fp8", "gptq", "marlin", "bitsandbytes", "gguf", and more.
str
default:"auto"
Data type for KV cache.Options: "auto", "fp8_e4m3", "fp8_e5m2", "bfloat16", "float16"Using FP8 for KV cache can significantly reduce memory usage.

Memory and Scheduling

Optional[float]
default:"None"
Fraction of GPU memory to use for model weights and KV cache.Auto-calculated based on GPU memory capacity if not specified.
Optional[int]
default:"None"
Maximum total tokens in the KV cache pool.This is the maximum number of tokens that can be cached across all requests.
Optional[int]
default:"None"
Maximum number of requests to process simultaneously.
Optional[int]
default:"None"
Maximum number of requests to queue when busy.
Optional[int]
default:"None"
Chunk size for chunked prefill.Auto-calculated based on GPU memory capacity if not specified.
  • Small GPUs (<20GB): 2048
  • Medium GPUs (20-60GB): 4096
  • Large GPUs (>60GB): 8192+
int
default:"16384"
Maximum tokens for prefill phase.
str
default:"fcfs"
Scheduling policy. Options: "fcfs" (first-come-first-serve), "lpm" (longest-prefix-match).
bool
default:"False"
Enable priority-based request scheduling.

Parallelism

int
default:"1"
Tensor parallelism size (number of GPUs for model parallelism).
int
default:"1"
Data parallelism size (number of independent model replicas).
int
default:"1"
Pipeline parallelism size (number of pipeline stages).
int
default:"1"
Number of nodes in a multi-node setup.
int
default:"0"
Current node rank (0 to nnodes-1).

Kernel Backends

Optional[str]
default:"None"
Attention kernel backend.Options: "flashinfer", "flashinfer", "triton", "torch_native", "fa3" (FlashAttention-3)Auto-selected based on hardware if not specified.
Optional[str]
default:"None"
Sampling backend. Options: "flashinfer", "pytorch"
Optional[str]
default:"None"
Structured generation backend.Options: "xgrammar", "outlines", "llguidance", "none"

CUDA Graph Optimization

bool
default:"False"
Disable CUDA graph optimization.
Optional[int]
default:"None"
Maximum batch size for CUDA graph capture.Auto-calculated based on GPU memory:
  • Small GPUs: 8-24
  • Medium GPUs: 32-160
  • Large GPUs: 256-512
bool
default:"False"
Disable padding in CUDA graph batch sizes.

Speculative Decoding

Optional[str]
default:"None"
Speculative decoding algorithm.Options: "EAGLE", "STANDALONE", "NGRAM"
Optional[str]
default:"None"
Path to draft model for speculative decoding.
Optional[int]
default:"None"
Number of speculative decoding steps.
Optional[int]
default:"None"
Number of draft tokens to generate per step.

LoRA

Optional[bool]
default:"None"
Enable LoRA adapter support.
Optional[int]
default:"None"
Maximum LoRA rank to support.
Optional[Union[List[str], List[dict]]]
default:"None"
Paths to LoRA adapters to pre-load.
Optional[int]
default:"None"
Maximum number of LoRA adapters to keep loaded.
str
default:"csgmv"
LoRA kernel backend. Options: "triton", "csgmv", "torch_native"

Expert Parallelism (MoE)

int
default:"1"
Expert parallelism size for Mixture-of-Experts models.
str
default:"auto"
MoE kernel backend.Options: "auto", "triton", "flashinfer_cutlass", "deep_gemm"
str
default:"none"
All-to-all communication backend for MoE.Options: "none", "deepep", "mooncake"

Logging and Monitoring

str
default:"info"
Logging level. Options: "debug", "info", "warning", "error"
bool
default:"False"
Log all requests and responses.
bool
default:"False"
Show time cost for each request.
bool
default:"False"
Enable Prometheus metrics.
bool
default:"False"
Enable OpenTelemetry tracing.
str
default:"localhost:4317"
OpenTelemetry collector endpoint.

Advanced Options

bool
default:"False"
Disable radix cache (prefix caching) optimization.
Optional[int]
default:"None"
Random seed for reproducibility. Auto-generated if not specified.
int
default:"1"
Token interval for streaming responses.
Optional[str]
default:"None"
Directory for downloading models from Hugging Face.
bool
default:"False"
Enable PyTorch compilation for model optimization.
Optional[str]
default:"None"
Device to use. Options: "cuda", "cpu", "npu". Auto-detected if not specified.

Configuration Examples

Basic Configuration

Production Configuration

Quantized Model

Multi-LoRA Configuration

Data Parallelism

Speculative Decoding

Multi-Node Configuration

See Also