{
  "hf_id": "poolside/Laguna-M.1",
  "meta": {
    "title": "Laguna M.1",
    "slug": "laguna-m.1",
    "provider": "Poolside",
    "description": "Poolside's 225B total / 23B activated MoE coding model with global attention, native interleaved reasoning, and 256K context — designed for agentic coding and long-horizon work.",
    "date_added": "2026-06-18",
    "date_updated": "2026-06-18",
    "tasks": [
      "text"
    ],
    "performance_headline": "225B/23B-A MoE for agentic coding — 74.6% SWE-bench Verified",
    "related_recipes": [
      "poolside/Laguna-XS.2"
    ]
  },
  "recommended_command": {
    "hardware": "h200",
    "strategy": "single_node_tp",
    "variant": "default",
    "node_count": 1,
    "deploy_type": "single_node",
    "env": {},
    "docker_image": "vllm/vllm-openai:latest",
    "command": "vllm serve poolside/Laguna-M.1 \\\n  --tensor-parallel-size 8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser poolside_v1 \\\n  --reasoning-parser poolside_v1 \\\n  --default-chat-template-kwargs '{\"enable_thinking\": true}'",
    "argv": [
      "vllm",
      "serve",
      "poolside/Laguna-M.1",
      "--tensor-parallel-size",
      "8",
      "--enable-auto-tool-choice",
      "--tool-call-parser",
      "poolside_v1",
      "--reasoning-parser",
      "poolside_v1",
      "--default-chat-template-kwargs",
      "{\"enable_thinking\": true}"
    ],
    "docker_command": "docker run --gpus all \\\n  --privileged --ipc=host -p 8000:8000 \\\n  -v ~/.cache/huggingface:/root/.cache/huggingface \\\n  vllm/vllm-openai:latest poolside/Laguna-M.1 \\\n  --tensor-parallel-size 8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser poolside_v1 \\\n  --reasoning-parser poolside_v1 \\\n  --default-chat-template-kwargs '{\"enable_thinking\": true}'",
    "docker_argv": [
      "docker",
      "run",
      "--gpus",
      "all",
      "--privileged",
      "--ipc=host",
      "-p",
      "8000:8000",
      "-v",
      "~/.cache/huggingface:/root/.cache/huggingface",
      "vllm/vllm-openai:latest",
      "poolside/Laguna-M.1",
      "--tensor-parallel-size",
      "8",
      "--enable-auto-tool-choice",
      "--tool-call-parser",
      "poolside_v1",
      "--reasoning-parser",
      "poolside_v1",
      "--default-chat-template-kwargs",
      "{\"enable_thinking\": true}"
    ],
    "strategy_spec": {
      "name": "single_node_tp",
      "deploy_type": "single_node",
      "display_name": "Tensor Parallel",
      "short_label": "TP",
      "orientation": "latency",
      "description": "Single-node tensor parallel. Splits the model across all local GPUs. TP size is set to the GPU count at deploy time. The simplest multi-GPU strategy — works for all model architectures.\n",
      "hardware_match": {
        "min_gpus": 1,
        "max_gpus": 8,
        "multi_node": false
      },
      "vllm_args": [],
      "parallel_flag": "--tensor-parallel-size"
    },
    "hardware_profile": {
      "brand": "NVIDIA",
      "generation": "hopper",
      "compute_arch": "sm90",
      "display_name": "H200",
      "description": "NVIDIA H200 SXM 141 GB HBM3e · 8-GPU HGX node",
      "gpu_count": 8,
      "vram_gb": 1128,
      "multi_node": false
    },
    "alternatives": {
      "single_node_tep": "/poolside/Laguna-M.1/strategies/single_node_tep.json",
      "single_node_dep": "/poolside/Laguna-M.1/strategies/single_node_dep.json",
      "multi_node_tp": "/poolside/Laguna-M.1/strategies/multi_node_tp.json",
      "multi_node_dep": "/poolside/Laguna-M.1/strategies/multi_node_dep.json",
      "multi_node_tep": "/poolside/Laguna-M.1/strategies/multi_node_tep.json",
      "kv_store_centralized_mooncake": "/poolside/Laguna-M.1/strategies/kv_store_centralized_mooncake.json",
      "kv_store_distributed_mooncake": "/poolside/Laguna-M.1/strategies/kv_store_distributed_mooncake.json"
    },
    "by_hardware": {
      "h200": "/poolside/Laguna-M.1/hw/h200.json",
      "h100": "/poolside/Laguna-M.1/hw/h100.json",
      "b200": "/poolside/Laguna-M.1/hw/b200.json",
      "gb200": "/poolside/Laguna-M.1/hw/gb200.json",
      "b300": "/poolside/Laguna-M.1/hw/b300.json",
      "gb300": "/poolside/Laguna-M.1/hw/gb300.json",
      "mi300x": "/poolside/Laguna-M.1/hw/mi300x.json",
      "mi325x": "/poolside/Laguna-M.1/hw/mi325x.json",
      "mi350x": "/poolside/Laguna-M.1/hw/mi350x.json",
      "mi355x": "/poolside/Laguna-M.1/hw/mi355x.json"
    }
  },
  "model": {
    "model_id": "poolside/Laguna-M.1",
    "min_vllm_version": "0.21.0",
    "architecture": "moe",
    "parameter_count": "225B",
    "active_parameters": "23B",
    "context_length": 262144,
    "base_args": [],
    "base_env": {},
    "install": {
      "pip": {
        "command": "uv venv\nsource .venv/bin/activate\nuv pip install -U vllm --torch-backend auto"
      },
      "docker": {
        "command": "docker pull vllm/vllm-openai:latest"
      }
    }
  },
  "features": {
    "tool_calling": {
      "description": "Enable automatic tool choice with Poolside's tool-call parser",
      "args": [
        "--enable-auto-tool-choice",
        "--tool-call-parser",
        "poolside_v1"
      ]
    },
    "reasoning": {
      "description": "Enable interleaved thinking (on by default) with Poolside's reasoning parser",
      "args": [
        "--reasoning-parser",
        "poolside_v1",
        "--default-chat-template-kwargs",
        "{\"enable_thinking\": true}"
      ]
    }
  },
  "opt_in_features": [],
  "variants": {
    "default": {
      "precision": "bf16",
      "vram_minimum_gb": 540,
      "description": "BF16 weights (225B) — fits on a single 8×H200/B200 node"
    },
    "fp8": {
      "model_id": "poolside/Laguna-M.1-FP8",
      "precision": "fp8",
      "vram_minimum_gb": 270,
      "description": "Block-FP8 weights + FP8 KV cache — halves VRAM, runs on a single 4×H200/B200 node",
      "json": "/poolside/Laguna-M.1-FP8.json"
    },
    "nvfp4": {
      "model_id": "poolside/Laguna-M.1-NVFP4",
      "precision": "nvfp4",
      "vram_minimum_gb": 135,
      "description": "NVFP4 weights (Blackwell only) — fits within ~135GB; pairs with FP8 KV cache",
      "json": "/poolside/Laguna-M.1-NVFP4.json"
    }
  },
  "hardware_overrides": {},
  "guide": "## Overview\n\n[Laguna M.1](https://huggingface.co/poolside/Laguna-M.1) is Poolside's 225B-total / 23B-activated Mixture-of-Experts model purpose-built for agentic coding and long-horizon work. It is competitive with state-of-the-art open-weight and frontier models on SWE-bench Verified (74.6%), SWE-bench Multilingual, SWE-Bench Pro, and Terminal-Bench 2.0.\n\n### Key features\n- **Large sparse MoE**: 70-layer transformer — the first 3 layers are dense SwiGLU, the remaining 67 are sparse MoE with **256 experts + 1 shared expert** and top-k=16 routing with auxiliary-loss-free load balancing.\n- **Global attention**: global attention across all layers with 64 Q-heads, 8 KV-heads, head dim 128, and softplus attention output gating.\n- **256K context**: RoPE with YaRN extends the context window to 262,144 tokens.\n- **Native interleaved reasoning**: thinking blocks emitted before and between tool calls, with *preserved thinking* (returning prior `reasoning` in history) recommended for best agentic performance. Toggled per-request via `enable_thinking`.\n- **Tool calling**: Poolside-specific tool-call protocol, parsed via `poolside_v1`.\n\n## Prerequisites\n\nLaguna M.1 support landed in vLLM via [PR #41129](https://github.com/vllm-project/vllm/pull/41129) (shared implementation with [Laguna XS.2](https://huggingface.co/poolside/Laguna-XS.2)) and ships in **vLLM 0.21.0 and later**.\n\n```bash\nuv pip install -U 'vllm>=0.21.0'\n```\n\nFP8 and NVFP4 quantized checkpoints are available at [Laguna-M.1-FP8](https://huggingface.co/poolside/Laguna-M.1-FP8) and [Laguna-M.1-NVFP4](https://huggingface.co/poolside/Laguna-M.1-NVFP4). Quantization is detected automatically from the checkpoint's `quantization_config`, so the launch command is identical — just swap the model ID (select the variant above).\n\n## Launch command\n\n### Single node (8×H200, BF16)\n```bash\nvllm serve poolside/Laguna-M.1 \\\n  --tensor-parallel-size 8 \\\n  --served-model-name laguna \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser poolside_v1 \\\n  --reasoning-parser poolside_v1 \\\n  --default-chat-template-kwargs '{\"enable_thinking\": true}'\n```\n\nThe BF16 checkpoint (~450 GB of weights) fits on a single 8×H200 node. Use the **FP8** variant to run on 4 GPUs, or the **NVFP4** variant (Blackwell only) to fit within ~135 GB.\n\n## Controlling reasoning\n\nReasoning is enabled at the server when you pass `--default-chat-template-kwargs '{\"enable_thinking\": true}'` (included above). Poolside recommends **preserved thinking** for agentic coding — return the previous assistant turn's `reasoning` in the message history.\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8000/v1\", api_key=\"EMPTY\")\n\nresp = client.chat.completions.create(\n    model=\"laguna\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a Python retry wrapper with exponential backoff.\"}],\n    temperature=1.0,\n    extra_query={\"top_k\": 20},\n    stream=True,\n)\nfor chunk in resp:\n    delta = chunk.choices[0].delta\n    rc = delta.reasoning\n    if rc:\n        print(rc, end=\"\")\n    if delta.content:\n        print(delta.content, end=\"\")\n```\n\nRecommended sampling (matching Poolside's benchmark runs): **temperature=1.0, top_k=20**, thinking enabled.\n\nTo disable thinking, omit `--default-chat-template-kwargs` at launch, or pass `extra_body={\"chat_template_kwargs\": {\"enable_thinking\": False}}` per request.\n\n## References\n\n- [Model card](https://huggingface.co/poolside/Laguna-M.1)\n- [Release blog post](https://poolside.ai/blog/laguna-a-deeper-dive)\n- [Technical report](https://poolside.ai/assets/laguna/laguna-m1-xs2-technical-report.pdf)\n- [vLLM support PR #41129](https://github.com/vllm-project/vllm/pull/41129)\n",
  "source": {
    "source": "vllm",
    "repo": "vllm-project/vllm",
    "ref": "main",
    "sha": "389ffebe555705c85337025d5df108d0384d365e",
    "path": "recipes/models/poolside/Laguna-M.1.yaml",
    "edit_url": "https://github.com/vllm-project/vllm/edit/main/recipes/models/poolside/Laguna-M.1.yaml",
    "overlays": []
  }
}