DeepSeek-V4.1 artifact and no released DeepSeek-V4.1-Pro checkpoint. This
playbook serves deepseek-ai/DeepSeek-V4.1-Flash.
Recipe contract
V4.1 uses a different tokenizer and parser contract from V4. Do not reuse
deepseek_v4 flags: all three parser modes here are deepseek_v41.
0. Set up your shell
Every command on this page is copy-paste. Paste this block once per terminal and replace only the API key; every later step reads these variables.Two keys, two jobs.
AIRESERVE_API_KEY authenticates you to AI Reserve
and creates the volume, quote, and instance. VLLM_API_KEY is a password you
invent for the vLLM server you are about to start: step 4 passes it as
vLLM’s --api-key, so the public HTTP port rejects anyone who does not
send it. No vendor issues it and AI Reserve never sees it.curl and jq; the Python tabs need
requests (python -m pip install requests).
Check stock first
A quote is free and creates nothing. Run one before creating storage, because the volume in step 1 is placed next to this hardware and fails the same way when none is in stock:availability and price means you can continue. An error
with code: no_capacity means this shape is not in stock in that region right
now: try another region here and in steps 1 and 2, or wait, and read
no_capacity reasons.
1. Allocate the model volume
Available now. The accelerator hint places the volume in a data center where 8×H200 has stock today, so the instance in step 4 can mount it. If step 0 reported no stock, this call fails the same way.2. Quote 8×H200
Available now. The quote binds the floating reference tag. For a real release, replace it with the digest you qualified before requesting the quote. A quote expires after 120 seconds, so run step 4 right after it; if it has expired, run this step again.3. Download the pinned artifact
Manual today. Use a loader with the persistent volume attached, or let vLLM populateHF_HOME during first start. The verification command requires
the current hf CLI from huggingface_hub 1.18 or later, not the deprecated
huggingface-cli:
4. Launch the V4.1 server
Available now, runtime qualification pending. This starts target-only serving with the vision tower enabled. DSpark comes later, after the target baseline passes. The eight-GPU topology keeps Engram resident instead of depending on host-memory offload.wait_for and
waitFor are already defined there):
/v1/models before the first request. To watch progress:
--language-model-only
and remove --mm-encoder-tp-mode data. Do not silently route image requests to
that profile.
5. Verify reasoning, tools, and vision
SetENDPOINT to the returned port-8000 URL.
/v1/models is the
readiness signal; until then the port returns connection errors or 5xx:
Vision smoke test
IMAGE_URL is any image the server can fetch; a public sample is set here so
the test runs as written. This must pass before the multimodal profile is
considered ready:
low/high/xhigh/max to 25/50/75/100; DeepSeek’s
hosted API maps its named tiers differently. Use an integer when parity
matters. Thinking defaults on, so a small output cap may be exhausted before
visible content appears.
Acceptance must also send:
- a base64 image and a remote image URL through the OpenAI multimodal message shape;
- multiple images in one prompt;
- a tool call encoded through DeepSeek’s tagged markup language (DSML),
followed by a tool result while preserving prior
reasoning_content; - streaming responses in thinking and non-thinking modes;
- invalid tool output to prove the application rejects it safely.
6. Qualify load and DSpark
Start with target-only serving:rejection_sample_method: synthetic or a synthetic acceptance
length as production evidence. Compare target-only and DSpark after clean
restarts, and do not combine DSpark with prefill/decode disaggregation until
the engine documents that combination as supported.