docs: add cookbook-migrate-model skill from the Qwen3.5 pilot (#27845)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
zijiexia
2026-06-12 18:31:52 -07:00
committed by GitHub
co-authored by Claude Fable 5
parent 5633ca8599
commit 29ac249be1
9 changed files with 579 additions and 22 deletions
@@ -48,6 +48,12 @@ export const config = {
{ id: "fp8", label: "FP8" },
{ id: "fp4", label: "FP4" },
],
// 4th dim. The count follows the model's operating points: 1 recipe → a
// single "balanced"; 2 → low-latency + high-throughput; 3 → the full trio
// (the ideal). Per-combination: a single-recipe combination (e.g. a CPU
// platform) parks under its semantically honest tier — no slant → balanced;
// the page's list is the union and the engine greys unused chips. Never
// invent a recipe just to fill chips.
strategies: [
{ id: "low-latency", label: "Low-Latency" },
{ id: "balanced", label: "Balanced" },
@@ -158,7 +164,10 @@ sgl-eval run gsm8k \\
cookbookModel: "__HF_ORG__/__MODEL_SLUG__",
},
// Opt-in per axis. DELETE any axis your model doesn't expose (don't leave a stub).
// Opt-OUT per axis: general axes (attention / moe-for-MoE / parsers /
// speculative / pdDisagg / hicache) ship on every cookbook — DELETE only the
// axes this model genuinely cannot use (e.g. hisparse on non-DSA models, moe
// on pure-dense models); prefer disable+disableReason for variant/hw subsets.
playgroundFeatures: {
// ----- Card: "Attention Parallelism" ----- KEEP if the model exposes TP/CP/DP
@@ -312,6 +321,9 @@ sgl-eval run gsm8k \\
// EXAMPLE cells — one per hardware family to show the shape. REPLACE each with
// your model's verified recipe, or DELETE families you don't support. `match`
// MUST have exactly the 5 keys; env/flags are flat literals.
// Accuracy-degrading flags (W4A4-style runtime quant, lossy --kv-cache-dtype)
// default to Playground/tips — putting one in a cell needs explicit user
// confirmation (authoring-reference §2.2).
cells: [
// ==== NVIDIA Blackwell + FP4 (single node) ====
{
@@ -103,8 +103,9 @@ import { Playground } from "/src/snippets/_playground.jsx";
## 3. Advanced Usage
{/* Keep only the subsections that apply. Each runnable block is followed by an
**Output Example:** + a ```text Output block with REAL server output. */}
{/* Keep only the subsections that apply. Commands and outputs in this section are
COLLAPSIBLE (required — match DeepSeek-V4 §3): each runnable example lives in an
<Accordion>, its REAL server output in a following <Accordion title="Example Output">. */}
### 3.1 Reasoning
@@ -114,6 +115,8 @@ Enable the `__REASONING_PARSER__` reasoning parser (toggle **Reasoning Parser**
answer → `content`). If your parser emits inline `<think>...</think>` tags inside
`content`, parse the tags from `content` instead. */}
<Accordion title="Reasoning Example (Python)">
```python Example
from openai import OpenAI
@@ -128,18 +131,23 @@ print("Reasoning:", getattr(msg, "reasoning_content", None))
print("Answer:", msg.content)
```
**Output Example:**
</Accordion>
<Accordion title="Example Output">
```text Output
TODO: paste real server output here.
```
</Accordion>
### 3.2 Tool Calling
Enable the `__TOOLCALL_PARSER__` tool-call parser (toggle **Tool Call Parser** in the **Parsers** card of the [Playground above](#playground)) to surface structured tool calls via `message.tool_calls`.
{/* TODO: tool-calling example + **Output Example:**. On thinking-mode models the
follow-up may put text in `reasoning_content`; print both that and `content`. */}
{/* TODO: tool-calling example in an <Accordion> + an <Accordion title="Example Output">.
On thinking-mode models the follow-up may put text in `reasoning_content`;
print both that and `content`. */}
### 3.3 HiCache (Hierarchical KV Caching)