Skypool Token
Token online
Sign up
DocsSGLang

SGLang 本地模型准备

Provider Agent 接入 SGLang OpenAI-compatible 服务前,安装、启动模型、设置上下文窗口和验证可用性的操作说明。

Updated:

什么时候需要看这页

如果你的 Provider 节点准备用 SGLang 承接推理任务,先按这页启动 SGLang HTTP 服务。SGLang 提供 OpenAI-compatible 接口,Provider Agent 侧需要使用 --api-format sglang

Token 供应示例里的模型名,例如 qwen3.6:35bgemma4:26b,是启动 Provider Agent 时使用的平台模型代码。SGLang 加载的是 Hugging Face 模型 ID 或本地模型目录;控制台展示的“模型名称”用于下载和启动模型,“模型 ID”用于 SGLang 对外暴露的 OpenAI-compatible 模型标识和 Provider Agent 的 --runtime-model-id

适用系统和特点

SGLang 的常规入门路径主要面向 Linux、Python 3.10+ 和 NVIDIA CUDA GPU。官方资料也提供 AMD GPU、Intel Xeon CPU、Apple Silicon with Metal、TPU、Ascend NPU、Intel XPU 等硬件页面,但不同后端能力和安装方式差异较大。

主要优点:

  • 面向生产推理,重视低延迟和高吞吐
  • 支持 OpenAI-compatible /v1/chat/completions/v1/completions、embedding 和 vision 等接口
  • 支持 RadixAttention、prefix caching、连续批处理、chunked prefill、speculative decoding 和多种并行策略

主要限制:

  • 安装依赖 CUDA、ROCm、PyTorch、FlashInfer 等版本组合,环境复杂度比 Ollama 高
  • 不同硬件后端的可用功能不完全一致

安装 SGLang

通用 Linux/NVIDIA 环境可以使用 uv 安装:

Bash
pip install --upgrade pippip install uvuv pip install "sglang[all]"

如果你使用 Docker,可以直接运行官方镜像。下面示例会把 Hugging Face 缓存挂载到容器内,并在 30000 端口暴露 OpenAI-compatible API:

Bash
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 Qwen/Qwen3.6-35B-A3B \    --context-length 262144 \    --host 0.0.0.0 \    --port 30000

如果模型需要 Hugging Face 鉴权,替换 <secret> 为你的 Hugging Face token。

准备模型名

SGLang 的 --model-path 接收 Hugging Face 模型 ID 或本地模型目录,不直接按 Ollama 的 model:tag 下载模型。

实际使用时,先打开 Provider API 密钥页,在 Token 供应示例中选择目标模型和 SGLang 推理框架,然后分别点击“复制模型名称”和“复制模型 ID”。模型名称用于 --model-path 的下载来源;模型 ID 是 /v1/models、验证请求里的 model,也是 Provider Agent 的 --runtime-model-id / PROVIDER_AGENT_RUNTIME_MODEL_ID

常见对应关系可以这样处理,最终以页面里“模型名称 / 模型 ID”显示的值为准:

Token 供应示例模型名SGLang 模型名称SGLang 模型 ID说明
qwen3.6:35bQwen/Qwen3.6-35B-A3BQwen/Qwen3.6-35B-A3B适合作为长上下文示例
gemma4:26bgoogle/gemma-4-26B-A4B-itgoogle/gemma-4-26B-A4B-it具体 checkpoint 以实际下载和平台配置为准

SGLang 默认会用 --model-path 的值作为服务侧模型名。一般保持这个名字即可:

Bash
python3 -m sglang.launch_server \  --model-path Qwen/Qwen3.6-35B-A3B \  --context-length 262144 \  --host 0.0.0.0 \  --port 30000

如果你确实需要使用 --served-model-name 覆盖返回名称,也应设置为上表中的 SGLang 模型 ID,例如 Qwen/Qwen3.6-35B-A3B,不要设置成 Ollama 风格的 qwen3.6:35b。Provider Agent 的 --runtime-model-id 需要和这个服务侧模型 ID 一致。

设置上下文窗口

SGLang 对应的上下文参数是 --context-length。这个值要根据目标模型要求的“上下文窗口”大小设置,不能默认所有模型都写成同一个数字。下面示例里的 262144 只适用于明确支持 256K 上下文窗口的模型;如果模型要求 128K,则应设置为 131072

Bash
python3 -m sglang.launch_server \  --model-path Qwen/Qwen3.6-35B-A3B \  --served-model-name Qwen/Qwen3.6-35B-A3B \  --context-length 262144 \  --tp-size 8 \  --mem-fraction-static 0.8 \  --reasoning-parser qwen3 \  --host 0.0.0.0 \  --port 30000

参数说明:

  • --context-length 262144 在示例中表示模型最大上下文窗口为 256K tokens,实际值应按目标模型要求填写
  • --tp-size 需要按 GPU 数量和模型大小调整,不是固定值
  • --mem-fraction-static 可在显存紧张时调低
  • --reasoning-parser qwen3 只适用于需要 Qwen3 reasoning 解析的模型

注意:

  • 模型本身必须支持你设置的目标上下文窗口大小
  • max_tokens 只控制单次请求最多生成多少 token,不会扩大上下文窗口

验证 SGLang 服务

查看模型列表:

Bash
curl http://127.0.0.1:30000/v1/models

做一次非流式推理:

Bash
curl http://127.0.0.1:30000/v1/chat/completions \  -H "Content-Type: application/json" \  --data-raw '{    "model": "Qwen/Qwen3.6-35B-A3B",    "messages": [      {        "role": "user",        "content": "用一句中文回复:SGLang 服务可用。"      }    ],    "max_tokens": 64,    "temperature": 0  }'

再检查流式输出:

Bash
curl http://127.0.0.1:30000/v1/chat/completions \  -H "Content-Type: application/json" \  --data-raw '{    "model": "Qwen/Qwen3.6-35B-A3B",    "messages": [      {        "role": "user",        "content": "列出三个本地推理服务健康检查点。"      }    ],    "stream": true,    "max_tokens": 128  }'

如果启动 SGLang 时配置了 --api-key skypool-test,所有请求都需要增加:

Bash
-H "Authorization: Bearer skypool-test"

启动 Provider Agent

SGLang 服务可用后,先跑预检:

Bash
./token-provider-agent preflight start \  --model qwen3.6:35b \  --base-url http://127.0.0.1:30000 \  --api-format sglang \  --runtime-model-id Qwen/Qwen3.6-35B-A3B

预检通过后正式启动:

Bash
./token-provider-agent start \  --api-key stp-... \  --model qwen3.6:35b \  --base-url http://127.0.0.1:30000 \  --api-format sglang \  --runtime-model-id Qwen/Qwen3.6-35B-A3B

如果 SGLang 启用了推理框架 API Key,同时传入:

Bash
--runtime-api-key skypool-test

参考链接