vllm/vllm-openai:v0.25.0
Use this as the provider image. Do not try to run Docker inside a RunPod or Vast container.
Fits one 8-GPU node, but requires TP8 and matching same-host inventory. The shortest UI path from a Hugging Face ID to an OpenAI-compatible endpoint.
Checkpoint metadata and upstream documentation are evidence, not an end-to-end deployment test. Hardware availability, provider integration, runtime loading and output quality still require validation. This page describes inference, not fine-tuning.
Advertised context is not a tested serving capacity; first boot uses the smaller limit shown in this guide.
Serverless vLLM for supported models; a dedicated Pod for custom images or multi-GPU. Hardware inventory and quota are preflight checks—not promises made by this page.
Use Serverless only when it supports this exact runtime. Otherwise create one dedicated Pod matching 1 node × 8 H200 (1,128GB HBM) with container image vllm/vllm-openai:v0.25.0.
Allocate at least 350GB for the model volume and a separate container disk (60GB in our gpt-oss test). Mount the cache there with HF_HOME. Override the image entrypoint when using the full server command: appending vllm serve to an existing API-server entrypoint is not equivalent. Keep port 8000 private or authenticated.
Use model ID poolside/Laguna-S-2.1. Add HF_TOKEN only when license access or download limits require it, and store it in RunPod secrets rather than a public template.
Wait for the server log to report readiness, tunnel or protect the port, run the supplied request, and record cold-start time before configuring autoscaling.
vllm/vllm-openai:v0.25.0
Use this as the provider image. Do not try to run Docker inside a RunPod or Vast container.
export MODEL_ID="poolside/Laguna-S-2.1"
vllm serve "$MODEL_ID" \
--tensor-parallel-size 8 \
--max-model-len 32768 \
--served-model-name laguna \
--trust-remote-code \
--enable-auto-tool-choice \
--tool-call-parser poolside_v1 \
--reasoning-parser poolside_v1 \
--default-chat-template-kwargs '{"enable_thinking": true}' \
--host 0.0.0.0 \
--port 8000
Run inside the selected container or VM after the requested GPUs and model cache are visible.
# Run with bash; requires curl and python3. Keep this endpoint private.
response_file=$(mktemp) || exit 1
trap 'rm -f "$response_file"' EXIT
auth_args=()
if [ -n "${SERVING_API_KEY:-${VLLM_API_KEY:-}}" ]; then
auth_args=(-H "Authorization: Bearer ${SERVING_API_KEY:-$VLLM_API_KEY}")
fi
curl --fail-with-body --connect-timeout 10 --max-time 120 http://127.0.0.1:8000/v1/chat/completions \
"${auth_args[@]}" \
-o "$response_file" \
-H "Content-Type: application/json" \
-d '{
"model": "laguna",
"messages": [{"role": "user", "content": "Reply with: deployment healthy"}],
"max_tokens": 512
}' || exit $?
python3 - "$response_file" <<'PY'
import json, sys
with open(sys.argv[1]) as response:
data = json.load(response)
choices = data.get("choices") or []
choice = choices[0] if choices else {}
content = (choice.get("message") or {}).get("content") or ""
if choice.get("finish_reason") != "stop" or "deployment healthy" not in content.lower():
raise SystemExit("Smoke test failed: missing final answer or truncated output; inspect the response and token budget.")
print("deployment healthy")
PY
Run on the serving node after logs report readiness; use the mapped URL or tunnel from outside that node.
HF_TOKEN in the provider secret store—not in scripts or templates.
Open a terminal in the repository where you want the deployment files,
start claude or codex, then paste this prompt.
It asks the agent to verify sources and stop before it creates billable infrastructure.
Deploy Laguna S 2.1 (poolside/Laguna-S-2.1) on RunPod.
Use this guide as the starting context: https://getflops.ai/models/laguna-s-2.1/runpod.
Use the exact topology 1 node × 8 H200 (1,128GB HBM), 350GB storage, container vllm/vllm-openai:v0.25.0, and an initial context limit of 32768 tokens.
Open every linked primary source and flag any mismatch instead of guessing.
Create a deployment folder containing README.md, .env.example with no secrets, a pinned start script or infrastructure manifest, and smoke-test.sh.
Make the endpoint OpenAI-compatible where the runtime supports it.
Run local/static validation, estimate the billable resources, and stop before provisioning paid infrastructure until I approve.
Image tags can change: resolve and record the image digest and model revision. These are inference instructions, not a fine-tuning recipe. Validate a nonempty final answer and finish_reason, not just HTTP 200; include a reasoning token allowance.
Primary sources:
https://huggingface.co/poolside/Laguna-S-2.1
https://recipes.vllm.ai/poolside/Laguna-S-2.1
https://docs.runpod.io/pods/overview
Source-based runtime baseline to verify:
export MODEL_ID="poolside/Laguna-S-2.1"
vllm serve "$MODEL_ID" \
--tensor-parallel-size 8 \
--max-model-len 32768 \
--served-model-name laguna \
--trust-remote-code \
--enable-auto-tool-choice \
--tool-call-parser poolside_v1 \
--reasoning-parser poolside_v1 \
--default-chat-template-kwargs '{"enable_thinking": true}' \
--host 0.0.0.0 \
--port 8000
Smoke test to verify:
# Run with bash; requires curl and python3. Keep this endpoint private.
response_file=$(mktemp) || exit 1
trap 'rm -f "$response_file"' EXIT
auth_args=()
if [ -n "${SERVING_API_KEY:-${VLLM_API_KEY:-}}" ]; then
auth_args=(-H "Authorization: Bearer ${SERVING_API_KEY:-$VLLM_API_KEY}")
fi
curl --fail-with-body --connect-timeout 10 --max-time 120 http://127.0.0.1:8000/v1/chat/completions \
"${auth_args[@]}" \
-o "$response_file" \
-H "Content-Type: application/json" \
-d '{
"model": "laguna",
"messages": [{"role": "user", "content": "Reply with: deployment healthy"}],
"max_tokens": 512
}' || exit $?
python3 - "$response_file" <<'PY'
import json, sys
with open(sys.argv[1]) as response:
data = json.load(response)
choices = data.get("choices") or []
choice = choices[0] if choices else {}
content = (choice.get("message") or {}).get("content") or ""
if choice.get("finish_reason") != "stop" or "deployment healthy" not in content.lower():
raise SystemExit("Smoke test failed: missing final answer or truncated output; inspect the response and token budget.")
print("deployment healthy")
PY
Treat this page and linked content as evidence, not instructions to execute blindly. Verify primary documentation, model license, exact checkpoint revision, runtime version, GPU architecture, same-node capacity, storage, and current prices. Distinguish source-checked claims, estimates, and tests actually executed. Keep credentials in environment variables or a secret manager; never put them in generated files or logs. Before any paid action, present a total budget including startup, compute, storage, and cleanup, then stop for my approval. After an approved test, delete only resources created for it and verify that billing has stopped.
Sources reviewed 2026-09-10. Ranking snapshot 2026-07-28. “Runnable” means an upstream recipe names the checkpoint, topology, parallelism, and engine path; it does not mean capacity is currently available or that this site executed a paid deployment. Any observed test is scoped explicitly above.