Skip to main content

Deployment

For all methods and hardware platforms, see the official SGLang installation guide. The two paths below match the Python / Docker toggle in the command panel.
Command
Then run the Python output of the command panel below in that environment.
Pick a Granite 4.2 checkpoint to generate the launch command. The verified matrix covers BF16 serving on one NVIDIA H200 or B200 with tensor parallelism 1.
The H200 speed results use lmsysorg/sglang:dev at SGLang commit d59c1ddf7 and the B200 results at commit d10a656ad8; the launch recipes were verified end to end on both GPUs against the release checkpoints. Each speed point uses 80 fixed-length random requests at 8,192 input and 1,024 output tokens, 8 warmup requests, a flushed cache, greedy sampling, and ignore-EOS.

Playground

The Playground layers SGLang features on top of the verified recipe. Any override changes the badge to Not Verified until that exact configuration is tested end to end.

1. Model introduction

Granite 4.2 is IBM’s dense decoder-only language model family with 3B, 8B, and 30B checkpoints. Each checkpoint uses BF16 weights, has a configured context length of 131,072 tokens, and supports default thinking, non-thinking, low-effort thinking, and structured tool calls through its chat template. The repositories declare the Apache-2.0 license.
VariantTotal paramsPosition in family
Granite 4.2 3B3BSmallest checkpoint
Granite 4.2 8B8BMid-size checkpoint
Granite 4.2 30B30BLargest checkpoint
Recommended generation: IBM recommends temperature=1.0 and top_p=0.95 for general chat, reasoning, and tool calling. The release checkpoints ship these values in generation_config.json; send them per request when you want to be explicit. Resources: Granite 4.2 3B · Granite 4.2 8B · Granite 4.2 30B.

2. Configuration tips

  • Thinking is enabled by default. Set chat_template_kwargs.enable_thinking to false for a direct answer. Set enable_thinking and low_effort to true for a shorter reasoning trace.
  • Give thinking enough tokens. At temperature=1.0 the default thinking mode can run past 1,000 tokens on multi-step problems. Use a max_tokens of at least 2,048 for thinking requests so the answer is not cut off.
  • Reasoning parser. Launch with --reasoning-parser auto, which resolves to nemotron_3 for these checkpoints, so OpenAI-compatible responses separate the trace into message.reasoning_content and the answer into message.content. Without a parser flag the reasoning markup stays inline in message.content.
  • Tool-call parser. Launch with --tool-call-parser auto, which resolves to qwen3_coder for these checkpoints, so tool requests are returned through message.tool_calls. Without it, raw <tool_call> markup stays in message.content.
  • Single-GPU sizing. All three BF16 checkpoints loaded and completed chat requests with --tp 1 --mem-fraction-static 0.8 on one H200 and on one B200. Increase TP only after validating the new topology.
  • Image selection. The validated path uses lmsysorg/sglang:dev. A stable image tested during validation had an incompatible dependency set before model loading, so use the recipe’s image until a newer tagged release is confirmed.

3. Advanced usage

The outputs below are verbatim captures from Granite 4.2 3B on the verified server. Sampling is stochastic, so a repeated request can produce different wording.

3.1 Thinking modes

The nemotron_3 reasoning parser keeps reasoning and final content in separate fields. Granite 4.2 accepts three chat-template modes: default thinking, non-thinking, and low-effort thinking.
Example
Output

3.2 Tool calling

The qwen3_coder parser converts the model’s tool markup into OpenAI-compatible structured calls.
Example
Output