Files
Kevin Mi 8ac19cc19f
PR Test (NPU) / base-b-test-4-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-b-test-8-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-b-test-16-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (0) (push) Blocked by required conditions
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (1) (push) Blocked by required conditions
PR Test (NPU) / multimodal-gen-test-4-npu-a3 (0) (push) Blocked by required conditions
PR Test (NPU) / multimodal-gen-test-4-npu-a3 (1) (push) Blocked by required conditions
PR Test (NPU) / setup-covstub (push) Blocked by required conditions
PR Test (NPU) / pr-test-npu-finish (push) Blocked by required conditions
PR Test (NPU) / base-a-test-1-npu-a2 (push) Blocked by required conditions
PR Test (NPU) / base-b-test-1-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-b-test-2-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-c-test-acc-2-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-c-test-acc-16-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-c-test-perf-2-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / base-c-test-perf-16-npu-a3 (push) Blocked by required conditions
PR Test (NPU) / Analyze failure report (push) Blocked by required conditions
PR Test (XPU) / finish (push) Blocked by required conditions
PR Test (Arm64) / check-changes (push) Successful in 10s
PR Test (NPU) / set-image-config (push) Successful in 1s
PR Test (NPU) / Recommend tests from coverage (push) Skipped
PR Test (NPU) / check-changes (push) Successful in 12s
PR Test (sgl-router) / gate (push) Successful in 8s
PR Test (Xeon) / check-changes (push) Successful in 9s
PR Test (XPU) / check-changes (push) Successful in 16s
pr-test-arm64.yml / pr-gate (push) Successful in 3s
PR Test (Arm64) / pr-gate (push) Successful in 3s
PR Test (Arm64) / build-test (push) Waiting to run
pr-test-npu.yml / pr-gate (push) Successful in 2s
PR Test (NPU) / pr-gate (push) Successful in 2s
pr-test-npu.yml / run (${{ fromJson(inputs.partitions).arr }}) (push) Blocked by required conditions
PR Test (sgl-router) / tier-1 — lint (push) Failing after 33s
PR Test (sgl-router) / tier-2 — build + test (push) Skipped
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Skipped
PR Test (sgl-router) / tier-3 — k8s integration (push) Skipped
PR Test (sgl-router) / tier-3 — e2e (push) Skipped
pr-test-xpu.yml / pr-gate (push) Successful in 2s
PR Test (XPU) / pr-gate (push) Successful in 2s
pr-test-xeon.yml / pr-gate (push) Successful in 3s
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Waiting to run
PR Test (XPU) / multimodal-gen-test-1-gpu-xpu (push) Waiting to run
PR Test (Xeon) / pr-gate (push) Successful in 3s
PR Test (sgl-router) / finish (push) Successful in 1s
PR Test (Xeon) / build-test (gnr, gnr, xeon-gnr, stage-a-tp-test-cpu-intel) (push) Waiting to run
PR Test (Xeon) / build-test (spr1, 0, 3, spr, xeon-spr, stage-a-test-cpu-intel,stage-b-test-cpu-intel) (push) Waiting to run
PR Test (Xeon) / build-test (spr2, 1, 3, spr, xeon-spr, stage-a-test-cpu-intel,stage-b-test-cpu-intel) (push) Waiting to run
PR Test (Xeon) / build-test (spr3, 2, 3, spr, xeon-spr, stage-a-test-cpu-intel,stage-b-test-cpu-intel) (push) Waiting to run
Lint / lint (push) Failing after 2m51s
[AMD][Kimi-K3] Fix deferred KDA gate projection and update DCP cookbook (#39066)
2026-09-22 06:35:12 +00:00
..
2026-09-21 14:58:53 -07:00

SGLang Documentation

The official documentation and cookbook for SGLang — a high-performance serving framework for large language models and vision-language models.

  • Docs: Getting started guides, installation, and reference
  • Cookbook: Battle-tested recipes for deploying specific models (Qwen, DeepSeek, Llama, GLM, etc.) on various hardware

Project structure

.
├── docs.json              # Site configuration (navigation, theme, metadata)
├── index.mdx              # Homepage
├── docs/                  # Documentation pages
│   └── get-started/
│       └── install.mdx    # Installation guide
├── cookbook/              # Model deployment recipes (one .mdx page per model)
│   ├── intro.mdx          # Cookbook overview and recipe index
│   └── autoregressive/    # Autoregressive recipes (also: diffusion/, omni/, …)
│       └── DeepSeek/
│           └── DeepSeek-V4.mdx
└── src/snippets/          # Config-driven cookbook engine
    ├── _deployment.jsx    # Shared deploy-matrix engine (no model-specific code)
    ├── _playground.jsx    # Shared override-playground engine
    └── configs/
        └── deepseek-ai/   # Per-model config + benchmarks (HF-org folder)
            └── deepseek-v4.jsx

Pages are .mdx files with YAML frontmatter. Navigation is defined in docs.json.

Local development

Prerequisites

  • Node.js >= 20

Setup

# Install the CLI
npm i -g mint

# From docs/ (where docs.json lives), start the dev server (hot reload)
mint dev

Preview at http://localhost:3000.

Useful commands

mint dev            # Start local preview server
mint broken-links   # Check for broken links
mint update         # Update the CLI

Contributing

We welcome contributions! Whether you want to add a recipe for a new model, improve existing docs, or fix a typo — PRs are appreciated.

Quick edit (GitHub)

  1. Navigate to the file you want to edit on GitHub
  2. Click the pencil icon to edit
  3. Submit a pull request

Local development workflow

# 1. Fork sgl-project/sglang and clone your fork
git clone https://github.com/<YOUR_USERNAME>/sglang.git
cd sglang/docs

# 2. Create a branch
git checkout -b my-changes

# 3. Start the dev server and make your changes
mint dev

# 4. Verify links aren't broken
mint broken-links

# 5. Commit and push
git add <files>
git commit -m "docs: describe your change"
git push origin my-changes

# 6. Open a pull request on GitHub

Adding a new cookbook recipe

The autoregressive cookbook is config-driven: two shared engines — src/snippets/_deployment.jsx (the deploy matrix) and src/snippets/_playground.jsx (the override playground) — contain no model-specific code. Adding a model means adding data: a per-model config (plus optional benchmarks) that both engines consume, and an .mdx page that imports them. Copy DeepSeek-V4 as the reference instance.

Recommended — use the Claude Code skill /cookbook-add-model. It walks the whole flow interactively: collect the model card + verified sglang serve recipes → instantiate the template → wire up the nav/card → validate → fill in measured benchmarks. Related skills: /cookbook-migrate-model (port an existing legacy-template page) and /cookbook-review-pr (review a cookbook PR against the checklist).

The files it creates / edits — using DeepSeek-V4 as the example:

File Purpose
src/snippets/configs/deepseek-ai/deepseek-v4.jsx Per-model config: supportedHardware, variants, quantizations, strategies, the cells[] deploy matrix (verified env + flags per hw × variant × quant × strategy × nodes), and playgroundFeatures.
src/snippets/configs/deepseek-ai/deepseek-v4-benchmarks.jsx One entry per cell with measured speed/accuracy + the sglang_version it ran on. Optional — skip until you have numbers.
cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx The page: imports the engines + config, renders <Deployment> / <Playground>, and adds prose (intro + specs + license, config tips, advanced usage).
docs.json Nav entry under Cookbook → category → vendor.
cookbook/autoregressive/intro.mdx Vendor <Card> on the category homepage.

Note the two folder conventions: under configs/ the folder is the HuggingFace org (deepseek-ai); under cookbook/ it's the display vendor (DeepSeek). The page wires everything together with data only — no engine edits:

import { Deployment } from "/src/snippets/_deployment.jsx";
import { Playground } from "/src/snippets/_playground.jsx";
import { config }     from "/src/snippets/configs/deepseek-ai/deepseek-v4.jsx";
import { benchmarks } from "/src/snippets/configs/deepseek-ai/deepseek-v4-benchmarks.jsx";

<Deployment config={config} benchmarks={benchmarks} />
<Playground config={config} />

Keep tag: NEW on the new page and strip it from same-vendor siblings (≤1 per vendor), then validate from docs/: mint validate, mint broken-links, and mint dev for a visual smoke test.

Diffusion / omni / specbundle pages follow their own category structure — don't force the autoregressive config-driven template on them.

Writing guidelines

  • Use active voice: "Run the command" not "The command should be run"
  • Address the reader as "you"
  • Keep sentences concise — one idea per sentence
  • Lead with the goal, then the steps
  • Use consistent terminology
  • Include concrete examples and code snippets

Acknowledgements

Thank you to all the authors who contributed to the original documentation in sglang/docs/ and the original cookbook in sgl-cookbook. The migration to the new Mintlify-based documentation was led by the following ACM-VIT students:

@Adhyan Jain, @Maitri-shah29, @architnigam, @Nakul-Sinha, @divyamagrawal06, @A-Taman, @nimeshas, @IshhanKheria, @Krishang-Zinzuwadia, @pokymono, @Ishitajoshii, @AdityaVKochar

Advised by @adarshxs (ACM-VIT) and @wisclmy0611, @Richardczl98 (LMSYS).

Community

License

Apache License 2.0 — see the LICENSE for details.