Image
laguna-vllm-v0.19.0-overlay.tar.gz is vllm/vllm-openai:v0.19.0 plus the
Laguna model file (vllm.model_executor.models.laguna), the poolside_v1
tool parser (vllm.tool_parsers.poolside_v1_tool_parser), the
poolside_v1 reasoning parser
(vllm.reasoning.poolside_v1_reasoning_parser), and LagunaConfig
(vllm.transformers_utils.configs.laguna). No CUDA kernels are rebuilt —
the base image's SM90/SM90A binaries are used unchanged.
Load
gunzip -c laguna-vllm-v0.19.0-overlay.tar.gz | docker load
The loaded image is tagged vllm-laguna:v0.19.0-overlay-port.
Integrity check
sha256sum laguna-vllm-v0.19.0-overlay.tar.gz
# expected: 4266d7fc0fda731e774beeb932493cc4f2de1a9c6030babd32eae30f7dc60b3a
What's inside
- Base:
vllm/vllm-openai:v0.19.0(PyTorch, CUDA, Triton, FlashAttention, compressed-tensors, etc.) - Added Python modules:
vllm/model_executor/models/laguna.py—LagunaForCausalLMvllm/tool_parsers/poolside_v1_tool_parser.py—PoolsideV1ToolParservllm/reasoning/poolside_v1_reasoning_parser.py—PoolsideV1ReasoningParservllm/transformers_utils/configs/laguna.py—LagunaConfig
- Registry patches:
LagunaForCausalLMadded to the model registry;"poolside_v1"added to the tool-parser and reasoning-parser lazy-register dicts;"laguna"added to the config registry (so checkpoints don't need a remoteconfiguration_laguna.pyand can be served without--trust-remote-code). transformers_utils/config.py::patch_rope_parametersis patched to leave a nestedrope_parametersdict (e.g.{full_attention: {...}, sliding_attention: {...}}) intact instead of overwriting it with the flatrope_scaling. Without this, interleaved-attention configs raiseKeyError 'full_attention'at the per-layer attention site on transformers <5.- Bundled convenience scripts:
/usr/local/bin/serve-laguna.sh— Laguna-M serve wrapper (TP=4)/usr/local/bin/run_bench_multiple.py— multi-config benchmark runner
Entrypoint
Default entrypoint is vllm serve, same as the base image. The first
positional argument is the model path (mount a checkpoint dir into /model).