SGLang 是一个用于大型语言模型(LLMs)和视觉语言模型(VLMs)的快速服务框架。
介绍
SGLang 通过协同设计后端运行时和前端语言,它能让您与模型的交互变得更快、更可控。
其核心功能包括:
- 快速后端运行时:通过多种技术提供高效服务,包括用于前缀缓存的 RadixAttention、零开销 CPU 调度器、预填充-解码分离、推测解码、连续批处理、分页注意力(paged attention)、张量/流水线/专家/数据并行、结构化输出、分块预填充、量化(FP4/FP8/INT4/AWQ/GPTQ)以及多 LoRA 批处理。
- 灵活的前端语言:提供直观的 LLM 应用编程接口,支持链式生成调用、高级提示、控制流、多模态输入、并行以及外部交互。
- 广泛的模型支持:支持多种生成模型(如 Llama、Qwen、DeepSeek、Kimi、GPT、Gemma、Mistral 等)、嵌入模型(e5-mistral、gte、mcdse)和奖励模型(Skywork),并易于扩展以集成新模型。
- 活跃的社区:SGLang 是一个开源项目,拥有一个活跃的社区,在业界得到了广泛应用。
相关链接
部署
pip install --upgrade pip
pip install uv
uv pip install "sglang[all]>=0.5.3rc0"
SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3-Next-80B-A3B-Instruct --port 30000 --tp-size 4 --context-length 262144 --mem-fraction-static 0.8
SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3-Next-80B-A3B-Instruct --port 30000 --tp-size 4 --context-length 262144 --mem-fraction-static 0.8 --speculative-algo NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4
docker
docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=<secret>" \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server --model-path meta-llama/Llama-3.1-8B-Instruct --host 0.0.0.0 --port 30000
docker compose
services:
sglang:
image: lmsysorg/sglang:v0.5.2
container_name: sglang
volumes:
- ${HOME}/.cache/huggingface:/root/.cache/huggingface
# If you use modelscope, you need mount this directory
# - ${HOME}/.cache/modelscope:/root/.cache/modelscope
restart: always
network_mode: host # required by RDMA
privileged: true # required by RDMA
# Or you can only publish port 30000
# ports:
# - 30000:30000
environment:
HF_TOKEN: <secret>
# if you use modelscope to download model, you need set this environment
# - SGLANG_USE_MODELSCOPE: true
entrypoint: python3 -m sglang.launch_server
command: --model-path meta-llama/Llama-3.1-8B-Instruct
--host 0.0.0.0
--port 30000
ulimits:
memlock: -1
stack: 67108864
ipc: host
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:30000/health || exit 1"]
deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids: ["0"]
capabilities: [gpu]
运行
# 使用 MODELSCOPE 下载模型
export SGLANG_USE_MODELSCOPE=true
python -m sglang.launch_server --model-path Qwen/Qwen3-8B
# 在 4 块 GPU 上使用张量并行
python -m sglang.launch_server --model-path Qwen/Qwen3-8B --tensor-parallel-size 4
python -m sglang.launch_server --model-path Qwen/Qwen3-8B --json-model-override-args '{"rope_scaling":{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}}' --context-length 131072
curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "Qwen/Qwen3-8B",
"messages": [
{"role": "user", "content": "Give me a short introduction to large language models."}
],
"temperature": 0.6,
"top_p": 0.95,
"top_k": 20,
"max_tokens": 32768
}'