Home

Field SOP

Scenario-based tutorials with real screenshots, prompts, workflow templates and pitfalls.

428B Weights Are Out, Budget 8 H100s: M3.1 Flash Local Deploy

A deployment log for M3.1 Flash (428B, 23B active). Cold water first: there is no consumer or single-GPU recipe anywhere official - the smallest validated tiers are 4x Blackwell (B200/B300/GB200/GB300, TP4), 4x AMD MI355X (TP4), or a full node of 8x H100/H200 (TP8, FP8 path). Weights come from HF or ModelScope (public, not gated); three size calibers coexist: community-count 252.4GB over 48 shards plus a 2.3GB DSpark head, and the vLLM recipe listing NVFP4 at 285GB, MXFP4 at 293GB, FP8 at 533GB; there is no official quantized repo. vLLM needs 0.33.0 or newer (absent from PyPI on release day, so use the vllm/vllm-openai:minimax-m31-flash Docker image or nightly); three official commands transcribed verbatim - H100/H200 TP8, GB200 TP4, MI355X TP4 - all forcing --block-size 128 and --disable-hybrid-kv-cache-manager (omit it and you get No common block size for 16); 1M context opens via --max-model-len (the Hopper sample caps at 262144). SGLang is not merged to main yet (Blackwell needs the MSA kernel at a pinned commit plus nvcc 13.4 minimum - cu130 does not count). The memory ledger: BF16 at roughly 856GB is an inference, not an official figure; 23B active lowers compute, not the VRAM floor - all 428B experts must stay resident, which is exactly why consumer cards are out; total KV cache for 1M context is unpublished. Domestic compute rides FlagOS Day-0 across nine chips (Huawei Ascend included, via SGLang-plugin-FL), numbers flagged as FlagOS official. Thirteen official error notes collected with fixes: HugeTLB 560GiB, B200 OOM, parser spelling, and more. License: MiniMax Community License, commercial attribution plus the 20-million-dollar threshold. One line of reality: 428B weights are out - budget 8 H100s.

Nemotron 3.5 Bolt Local Deployment: 74B on a 24GB Card

NVIDIA released Nemotron 3.5 Bolt 74B-A9B 24GB on October 15, 2026: a compression of the 120B Super VL via Star Elastic budget-conditioned architecture search (expert top-K down from 22 to 9, distilled recovery training over 120B tokens), on a hybrid Mamba-2 and Transformer architecture. The quantization plan is the story - the expert layers that dominate the weights drop to IQ2_XXS at 2.0625 bits per element (about 19GB), Mamba linear layers use NVFP4, and lm_head, embeddings, and attention stay at Q8_0, landing the full model at 22-24GB with accuracy recovered through quantization-aware distillation from the compression stage onward. Four deployment routes, with commands: Ollama (supported since 0.40.5, ollama run nemotron-3.5-bolt, a 25GB download, verify 100 percent GPU via ollama ps); Unsloth (UD-IQ2_XXS about 22GB, UD-IQ1_M about 20.3GB, ctx from a conservative 4096); llama.cpp official recipes (builds after October 15 to recognize nemotron_h_moe; the 28GB recipe runs 65K context with 8-bit KV and 6 draft tokens, the 32GB recipe reaches 262K; llama-server defaults to port 9931 since b11521); and vLLM (Blackwell SM120 with the LiLiCorr drafter for multi-user serving). Two context starting points coexist: 16K-32K for bare weights, 4K for Unsloth whose default drafter eats another 1-2GB. Eight troubleshooting entries cover OOM context cuts, layers spilling to system RAM, the missing --mmproj flag, and the shared 16384 max_tokens budget. OpenMDW-1.1 grants free unrestricted commercial use, leaves outputs unencumbered, requires notices only on redistribution, and carries a patent-retaliation clause. Vendor-reported: GPQA Diamond 86.4, Terminal-Bench 2.1 at 51.0, PinchBench first in class (83.99 TPS on RTX Spark; no official consumer-card figure). The 4GB Bolt E4B followed on October 23.

Xing4.0-29B-Intent Local Deploy: 4B Active, Which Command?

Getting Xing4.0-29B-Intent running hinges on a detail that trips most people up: the official deployment instructions do not live in the intent repository but in the base model repository. The intent README only says to replace the model path with the Xing4.0-29B-Intent weights and set --served-model-name to Xing4.0-29B-Intent, so the full vLLM and SGLang launch commands must be taken from the Xing4.0-29B-A4B base repo. Several flags are hard requirements: --trust-remote-code is mandatory because model_type is the in-house xing4_0 architecture, neither llama nor qwen; --tensor-parallel-size 2 implies at least two cards; --max-model-len 262144 matches the 256K context; --reasoning-parser xing4_0 and --tool-call-parser xing4_0 supply the matching parsers; --speculative-config uses the mtp method; and --gpu-memory-utilization 0.90 with --max-num-seqs 4 is the official example ratio. The weights ship as 41 safetensors shards totaling 62.43 GB, and the only official quantizations are FP8 (33.17 GB, e4m3) and GGUF (a single IQ4_NL file at 17.75 GB) - there is no AWQ, GPTQ, or INT8 safetensors. Minimum VRAM is not published at all; the official line is to configure GPU memory, parallelism, and context length for your environment. What the base repo does spell out: bfloat16 is required because the mHC path errors out on FP16 or quantized weights, --pipeline-parallel-size greater than 1 is not yet supported, the CUDA mHC path needs tilelang installed, and the host needs Docker 24.0 or newer with driver 535 or newer. The Ascend route explicitly wants 910B2 NPUs with at least two cards, with three official quay.io images (none of which bundle the weights). Consumer and CPU paths appear only in the base llama.cpp docs: int4 weights quantized with IQ4_NL come to about 19 GB and fit on a single consumer GPU, with an RTX 3090 24 GB as the example. The SDK is just an httpx HTTP client and is not on PyPI, and structured output comes in two layers - the model's native category plus args array, and SDK-guided JSON Schema constraints through vLLM response_format. The license is Apache-2.0, yet the weight side has no standalone LICENSE file, the repository LICENSE is an unfilled placeholder template, and the original terms of the 61 upstream datasets still need checking.

Five Open Speech Models in One Drop: Ant's MIT-Licensed Ming-3.0

Ant Group's inclusionAI open-sourced the five-model Ming-3.0 speech family under MIT on 2026-10-19/20 (multi-source confirmed; self-host, fine-tune, and commercial use all allowed), covering synthesis, audio understanding and dialogue, and recognition: Ming-3.0-tts-0.5B (0.5B dense, the lightest, deployable on four cards), Ming-3.0-tts-tiny (7.9B total / 1.3B active MoE, long-form multi-speaker podcasts), Ming-3.0-audio-flash (126B total / 6.5B active MoE, audio understanding and dialogue, answering in text or speech), Ming-3.0-audio-tiny (9.3B / 2.7B, efficiency-oriented), and Ming-3.0-asr-tiny (8.6B / 2B, context-aware transcription). Capabilities: TTS with text-described voices, a director mode that controls emotion, stress, and pacing in natural language, voice cloning, seven languages plus two dialects; audio understanding takes long recordings directly with structured output, preserving emotion and speaker identity, plus tool-call generation; ASR adds dialect recognition, hotword injection, and context awareness. Setup (verified against kie.ai and the README): TTS route - git clone github.com/inclusionAI/Ming-3.0-tts, conda env (0.5B: python 3.10, pip install -r requirements.txt, conda install -c conda-forge pynini==2.1.6), run per README; tts-tiny needs its own env with Python 3.10.15, PyTorch/Torchaudio 2.7.1 (cu118), Transformers 4.46.3; audio-flash via downloaded weights or Ling Studio Chat (ling.tbox.cn), 128K context, speech output through the Chat Completions audio.voice field with modalities=["text","audio"]. Hardware: officially tested mainly on datacenter cards - recommended NVIDIA H800 (80GB) or H20 (96GB); 0.5B on four cards is the floor; consumer-GPU feasibility unverified. Day-0 ecosystem: vLLM-Omni and SGLang-Omni adapted. Internal Ant usage (official): asr-tiny in the Afu doctor assistant, Alipay Search, Yixiaobao realtime voice, and security verification. Four limitations stated as-is: no quantized files (no GGUF/AWQ/EXL2), streaming in doubt (SGLang-Omni returns a full waveform even with stream=true, so true first-audio latency is unestablished), mutually exclusive control modes (voice design, emotion, and dialect cannot combine in one call), and unpublished training data. Leaderboard backing (secondary): Artificial Analysis TTS leaderboard (Provider Voices) puts Ming-3.0-tts at 1244, near the top. Division note: voice-cloning-toolkit-comparison-review (2026-10-15) is the review-lane selection piece; this SOP lane covers hands-on setup of the five-model stack - different lanes, different angles.

AI Cross-Session Memory in 10 Minutes: MemHub Hands-On Guide

A hands-on SOP for wiring Tencent Hunyuan's ready-made memory stack into your AI agent, with every command taken from the MemHub README and verified against PyPI. Three install layers: the SDK via pip install hy-memory==2.0.3 (latest at writing time); the CLI via the npm memhub-cli bootstrapper (about 384KB) followed by memhub install to fetch the Runtime; data lives in ~/.one-memory. Platform support at v1.0.3: Linux x64/arm64 Runtime, macOS arm64/x64 App - Windows is not supported (explicit in the README; bolded in the body plus an FAQ, since many of our readers run Windows). Ten CLI commands walked through one by one: serve/start/stop/restart/status/doctor/install/upgrade/uninstall/delete-data, with a first-run flow example (install, then status to verify, doctor for a health check, serve, then connect your agent). Privacy boundary stated as-is: no screen capture, no OCR, no keyboard/mouse event collection, no clipboard reading, no audio recording. Tool count in two versions: the MemHub README lists 5 tools while Tencent's official WeChat article says 10 - the body picks neither and defers to actual CLI output. A standalone preview warning: both Hy Memory 2.0 and MemHub are preview-stage; commands and APIs may change, use with care in production. Pitfalls covered: a fallback route for Windows readers (WSL2 or wait for official support), pinning ==2.0.3 for reproducibility, and backing up ~/.one-memory by copying the directory. Division note: ai-agent-long-term-memory-sop (2026-08-08) covers the build-your-own mem0/Letta route (vector store plus files); this piece is Tencent's ready-made stack for readers who want it running today. Primary search phrase "AI cross-session memory" (S1=2/S2=1/S3=2/S4=3, about 8 points) lives in the title and this summary only, never in the article body.

Claude Code DeepSeek Setup: Nine Env Vars, No Old Tutorials

A hands-on SOP for wiring Claude Code straight into DeepSeek, with every command and variable taken from the official guide (api-docs.deepseek.com/quick_start/agent_integrations/claude_code), reflecting the current configuration after the 1017 checkpoint. Primary search phrase: "Claude Code DeepSeek setup" (S1=3/S2=1/S3=2/S4=3). Migration path with nine environment variables: ANTHROPIC_BASE_URL to https://api.deepseek.com/anthropic, ANTHROPIC_AUTH_TOKEN with your DeepSeek API key, ANTHROPIC_MODEL=deepseek-flash[1m], DEFAULT_OPUS and DEFAULT_SONNET also deepseek-flash[1m], DEFAULT_HAIKU=deepseek-flash, CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash, CLAUDE_CODE_EFFORT_LEVEL=max, CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432; both PowerShell and Linux/Mac variants are given. Install from scratch in four steps: Node.js 18+ (plus Git for Windows on Windows), npm install -g @anthropic-ai/claude-code, verify with claude --version, set the variables and run claude in your project directory. Model mapping: requests starting with claude-opus route to deepseek-v4-pro (billed at V4 Pro prices, pricier than Flash - a must-read reminder), claude-haiku and claude-sonnet route to deepseek-flash. Web Search works natively but bills on two lines: search requests per the Search API plus extra token costs for summarizing retrieved content. Pricing (official rate page): off-peak 0.15 dollars per million input tokens on cache miss, 0.003 on a hit (one fiftieth of the miss price), 0.60 output; peak (weekdays 01:00-04:00 and 06:00-10:00 UTC) doubles everything; weekends and Chinese public holidays count as off-peak. Five pitfalls: AUTH_TOKEN and API_KEY are not the same thing (mixing them equals no config), old and new variables coexisting can cause auth conflicts (keep only the new ones, per community guides), never commit keys via settings.json (persist them in ~/.bashrc, ~/.zshrc or system environment variables), validate the tool-calling chain with a minimal read-one-file-then-edit-one-file task before real work, and check the live model with /status. Older tutorials still reference retired names like deepseek-chat. Division of labor: deepseek-v4-pro-claude-code-sop is the V4-Pro-0813-era two-variable minimal setup (2026-09), while this piece is the full current official configuration after 1017; for the Harness itself see deepseek-harness-quickstart-sop.

ChatGPT Chrome Setup: Six Steps to Minimal Permissions

A hands-on SOP for letting ChatGPT drive your browser, with every step and UI path taken from the official docs at learn.chatgpt.com. Six steps: first, prerequisites (a paid ChatGPT plan, the desktop app, and one of five supported Chromium browsers - Chrome, Edge, Brave, Opera, Vivaldi; Firefox and Safari are not supported); second, installation (desktop app, Settings > Computer Use, pick your browser, Install through the extension store, approve permissions, then confirm the browser shows Manage; on macOS, Computer Use needs Screen Recording and Accessibility permissions); third, invocation (at-mentions like @Chrome, right-click Ask ChatGPT, Cmd+Shift+. on macOS for the side panel, bringing open tabs or selected text into the chat, and the double-Command Appshot); fourth, choosing among three surfaces (tasks needing your existing signed-in profile go to the extension, localhost and preview pages to the built-in @Browser, dedicated integrations to plugins); fifth, permission hygiene with the four-level prompt (Allow once, Allow for this site, Allow for all sites, Decline) plus domain allowlist and blocklist management shared across all five browsers, noting the docs themselves flag Allow for all sites and browser-history access as elevated-risk; sixth, safety habits (treat page content, selected text and video transcripts as untrusted context, review pages before acting, do not leave the agent resident). Known quirks from the official docs: Opera lacks the side chat but supports desktop workflows, only Chromium browsers are supported, and Chrome tasks run grouped in tab groups. Division of labor with the hotspot piece: that one covers OpenAI's product move; this one covers configuring your own machine and keeping permissions minimal.

8GB VRAM, 4K Output: FLUX 3 Klein's Three Pitfalls

A practical path to running FLUX 3 Image Klein on consumer Nvidia cards, with three pitfalls found in the field; every command and filename comes from the official repositories or from third-party recipes that were actually run. The main line is ComfyUI. The repository black-forest-labs/flux-3-image-klein-comfy is gated, marked gated auto in the Hugging Face API, so an anonymous request returns 401 with x-error-code GatedRepo; sign in, accept the terms, then run hf auth login. Next, hf download pulls four files: the distilled int8 transformer at 5,827,874,779 bytes, the Qwen3-VL-4B int8 text encoder at 4,858,559,240 bytes, the w4a8 prompt upsampler at 6,724,090,780 bytes and the FLUX.2 VAE at 336,211,292 bytes. Start with python main.py, open Workflow and then Browse Templates, search FLUX 3 and pick distilled Text to Image with template id image_flux3_klein_distilled_t2i; the template defaults to 1024 by 1024, euler with the simple scheduler, 16 steps and CFG 1, both text-encoder loaders set to type flux3, and the upsampler switch left on. Then the three pitfalls. First, following the card's example and downloading the int8 upsampler at 9,748,113,996 bytes, about 9.08GiB, brings the four files to 19.343GiB, which will not fit a 16GB card, while the ComfyUI v0.41.2 distilled template actually loads the w4a8 file, 2.816GiB smaller. Second, the model card says the editing templates have no upsampler branch and that you should run your own LLM and paste the caption, yet the v0.41.2 editing template does contain an upsampler branch behind a switch that is off by default, a TextGenerate node with the W4A8 loader and an image-editing system prompt, so either route works. Third, running the model without an upsampler gives unstable results in editing and Ref2Image; the card states plainly not to use the model without a prompt upsampler. Memory budget: 11.2GB in BF16, 5.6GB in FP8, INT8 running on 8GB RTX cards, and NVFP4 aimed at data centres. All speed figures are vendor-reported: about 4 seconds per 1MP image on an RTX 5090 and under 9 seconds on an RTX 4070 with the distilled INT8 build, under 0.6 seconds in NVFP4 on a GB300, with a served LoRA adding about 5 percent. Resolution reaches 4K with width and height in multiples of 16, up to 10 reference images are accepted, and official defaults are 16 steps with no guidance for the distilled checkpoint and 50 steps at CFG 3.5 for the base. The Diffusers route is described only as far as is verifiable - it works, and BFL ships reference inference code including a Gradio demo with bounding-box control, with the repository README as the authority; no class names or parameters are invented here. Before commercial use, check the FLUX Kommunity License: free commercial use for individuals and companies under 5 million dollars in annualized revenue, free research and non-commercial use, and self-hosted licensing or the API beyond that, with the LICENSE text governing the details.

Can One GPU Run Matrix-Game 4.0? A Local Deploy SOP

A nine-step SOP for running Matrix-Game 4.0 locally on a single GPU, with every command and flag taken verbatim from the v4 subdirectory README (repository: github.com/SkyworkAI/Matrix-Game, file Matrix-Game-4/README.md). Step 1, align on requirements: model inference needs Linux, an NVIDIA GPU and Python 3.12 together, the reference A100 80 GB deployment uses PyTorch 2.12.0 / CUDA 13.2, and the repo ships a dedicated RTX 5090 runtime that does not auto-detect hardware, so the matching preset must be selected explicitly; the browser demo needs a Linux server that also builds the game and GStreamer pipeline while the Safari/Chrome client needs no GPU; standalone play and recording need macOS or Linux plus CMake, C++20, SDL2 and FFmpeg, with the legacy Windows entry retained but not validated for feature parity; and weights and assets are not shipped in the repo, so budget extra space for the Hugging Face Hub cache. Step 2, install inside the Matrix-Game-4/ subdirectory or everything after is wrong: git clone, cd Matrix-Game/Matrix-Game-4, python3.12 -m venv .venv and source .venv/bin/activate, then pip install torch==2.12.0 torchvision==0.27.0 --index-url https://download.pytorch.org/whl/cu132 as a matched pair, then pip install -e '.[inference,server,download,test]' with all four extras; FlashAttention is optional and only rtx5090-sage needs SageAttention while plain rtx5090 uses PyTorch SDPA. Step 3, downloads come as two manifests, game assets and model weights, pinned to revision 4419accdb7bb7881234c5914de8cd915266e0325 with --scene switchable across castle, racing and all, and one server process supporting only one scene model; the downloader verifies size and SHA256 against the manifests so interrupted runs can simply restart, shared T5/tokenizer and Wan VAE pull automatically from the official base, and matrix-game verify rechecks an installed scene. Step 4, offline rendering proves the model produces output: matrix-game render --scene ancient-egypt --input lowpoly.mp4 --resources resources --preset realtime --prompt-mode fixed --output outputs/egypt, where the input is a low-poly proxy stream rather than real footage and the output is rendered.mp4 plus a configuration report with FPS and frame count preserved; the three presets matter - realtime is for A100, RTX 5090 switches to rtx5090, and quality is slower yet is exactly the default when --preset is omitted. Step 5, play and record locally without loading a model: bash scripts/build_game.sh then bash scripts/play.sh --scene ancient-egypt, giving the two shooter scenes a 48 FPS, 2x simulation-time demo mode with F9 recording and Escape menu, and MATRIX_GAME_DATA_DIR overriding the default data directory; racing uses build_racing.sh with 1x simulation time, and the browser demo does not enable the shooters' 2x mode either, advancing 1/--fps seconds per captured frame. Step 6, the browser demo splits server and client: mediamtx configs/mediamtx.yml in one terminal and CUDA_VISIBLE_DEVICES=0 bash scripts/serve.sh --scene ancient-egypt --resources resources --preset realtime --fps 40 in another, then open http://127.0.0.1:8025/, with --reference-only testing controls, HUD, audio and transport without loading a model; --fps 40 is a capture cadence target, not a throughput or latency guarantee. Step 7, the two RTX 5090 presets: rtx5090 needs no extra installation while rtx5090-sage requires building SageAttention 2.2.0 with the supplied CUDA-graph patch and CUDA 13.2 at git checkout eb615cf6cf4d221338033340ee2de1c37fbdba4a; both reuse the same scene checkpoints and shared resources, converting DiT block linear weights to FP8 at load with activations quantized during inference while embeddings and the output head stay BF16, and startup warms kernels and captures CUDA graphs so the first launch is slower than steady state. Step 8, acceptance in two forms: a keypress producing a picture in the browser demo (officially about under 150 ms, not independently reproduced) or an offline render turning a low-poly video into a finer output, with the three performance accounts written side by side (official 480p 60 FPS, 83 FPS and 18.5 GiB; the project page panel still at 0; and the README's about 38-39 FPS on an A100 at 864 x 480), remembering that model throughput, pipeline throughput, presentation frame rate and end-to-end latency are four different things. Step 9, six pitfalls: one process supports one session and one scene model; it binds to loopback by default and must not be exposed to the internet, since the official statement calls it a trusted single-user demo rather than a public cloud-gaming service; --fps 40 is not a throughput guarantee; Windows is unvalidated; disk must accommodate the Hub cache; and VRAM splits into an A100 80 GB reference tier and an RTX 5090 consumer tier with the 5080 and 5070 still pending.

Run MiniCPM-V 4.7 on Your Phone: Three Paths

A hands-on SOP for running MiniCPM-V 4.7 from phone to desktop in three routes (all figures as of October 15, 2026, official pages prevail). First understand two official numbers: the 3 GB is the model's runtime memory footprint (the MoE-SSD mechanism keeps 35B expert weights on flash and streams them in on demand), not a device-RAM floor - the official app hardware table recommends 12 GB+ RAM for 35B-A3B (validated on the iPhone 17 Pro Max) and 4 GB+ for 1B, with smaller devices falling back to a smaller expert cache that runs noticeably slower; 13+ tokens/s is the official documentation figure for the iPhone 17 Pro Max, and other circulating figures (iPad 15+ and the like) are not adopted. Route 1, the official app on phone/tablet (OpenBMB/MiniCPM-V-Apps covers iOS, Android and HarmonyOS: TestFlight public link on iOS, APK from Releases on Android, signed HAP via DevEco on HarmonyOS; the 35B-A3B phone build is about 16.6 GB - main file plus 40 expert shards plus the vision module; 1B about 1.8 GB; the only fully offline route; pitfalls: slow storage throttles decoding, shards must match or the consistency check refuses to load, and the phone NPU stays unused short-term - the app runs the stock llama.cpp path). Route 2, desktop self-build with llama.cpp-omni for LES acceleration (the official LES link points to OpenBMB/llama.cpp-omni, a fresh repo created October 13 with 16 stars; the community tc-mb same-named repo has 291 stars, full docs and prebuilt packages - both share the same code lineage; verified commands: cmake -B build and cmake --build --target llama-omni-server/llama-omni-cli; GGUF weights in the official quantization repos on HF/ModelScope; honest limits: the README quick start targets the MiniCPM-o 4.5 full-duplex voice pipeline, 4.7 loading details are untested by this site and follow the official README). Route 3, the Ollama shortcut (the official library still lists only 4.6 as of October 15; the OpenBMB publisher page openbmb/minicpm-v4.7 runs today via ollama run - 1b about 1.8 GB, 35b-a3b Q4_K_M about 22 GB and the default latest tag, so small-memory machines must specify :1b explicitly; this route runs whole-model quants with no MoE-SSD, so "3 GB runs 35B" does not apply). One acceptance test for all three: ask about a local image and get a relevant answer. Division of labor with the same-batch open-source piece: that one covers capability and ecosystem, this one only covers getting it running. Repos: github.com/OpenBMB/MiniCPM-V and github.com/OpenBMB/MiniCPM-V-Apps.