Instructions to use vllm-sr/d3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use vllm-sr/d3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-classification", model="vllm-sr/d3", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModel processor = AutoProcessor.from_pretrained("vllm-sr/d3", trust_remote_code=True) model = AutoModel.from_pretrained("vllm-sr/d3", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
serve on rocm fails: deployment `profile` removed in vllm-sr-rocm:latest ahead of every CLI that still emits it; no config/file workaround sticks
Summary
vllm-sr serve -e <engine> --platform rocm fatally fails because the CLI writesglobal.model_catalog.deployments.<name>.profile into the materialized runtime
config, but the current vllm-sr-rocm:latest image removed that field and
rejects it. The newest published CLI still emits profile, and serve
re-materializes it on every run, so there is no config/file-level workaround.
Environment
- CLI:
0.5.0.dev20261014021837(newest dev build available; built 2026-10-14 ~02:18 UTC) - Image:
ghcr.io/vllm-project/semantic-router/vllm-sr-rocm:latest
seen assha256:06cd2145…(created 2026-10-14 20:28 UTC) and, after a later
pull,sha256:b4684f61…— i.e.:latestkeeps moving ahead with pullPolicy Always. - Platform
rocm, runtimedocker, enginevllm-sr/d3
Error
runtime_config_load_failed config_path=/app/.vllm-sr/runtime-config.yaml
error: global.model_catalog.deployments.primary.profile: profile was removed;
batching is on by default and set by the deployment's engine arguments
(max_num_seqs, max_num_batched_tokens, batch_window_ms, enable_shared_context,
dtype); run `vllm-sr config migrate --config old-config.yaml`
Why the suggested fixes don't work
- Source
config.yamlhas noprofile; the CLI injectsprofile: exactwhen
it materializes the runtime config (source: 0 matches, runtime: 1 match). vllm-sr config migratedoes not stripprofilefrom the generated runtime
config, and it literally suggests a placeholder path:vllm-sr config migrate --config old-config.yaml→Error: Config file not found: old-config.yaml.- Upgrading to the newest dev CLI, clearing
~/.local/state/vllm-sr/engine/<engine>,
and manually deleting theprofile:line all fail —servere-materializes the
runtime config withprofilebefore the container reads it.
Root cause
Dev-channel CLIs track vllm-sr-rocm:latest (pullPolicy Always). A breaking
schema change (removal of deployment profile, replaced by explicit engine args:max_num_seqs / max_num_batched_tokens / batch_window_ms /enable_shared_context / dtype) shipped in the image before any CLI build
stopped writing profile. This breaks every dev-channel serve on rocm during
the gap.
Expected / asks
- Don't publish an image that rejects config the latest dev/released CLI
generates — gate theprofileremoval behind a CLI that already stopped
emitting it, or have the CLI omit removed fields per image/schema version. - Make the router tolerant: treat a now-defaulted
profileas ignorable rather
than fatal (the message already says batching is on by default). - Fix the error text: reference the real generated file path, not the
placeholderold-config.yaml, and makeconfig migrateactually strip removed
keys from the materialized runtime config.
Impact
All dev-channel serve --platform rocm runs are currently blocked; there is no
user-side workaround until a CLI that stops emitting profile is published (or a
matching older image tag is made pinnable, which serve currently doesn't expose).
Update: confirmed root cause + a working workaround
Confirmed this is a CLI↔image schema skew, and found a workaround that serves fine.
Root cause (narrowed down):
- The
profileremoval is documented on the model side too — see thevllm-sr/d3
card commit "Engine mode batches by default; engine arguments replace runtime
profiles" (2026-10-14 13:36):--max-num-batched-tokens,--max-num-seqs,--batch-window-ms,--dtypereplace--runtime-profile. - The newest dev CLI (
0.5.0.dev20261014021837, built 02:18 UTC that day)
predates that change and still injectsglobal.model_catalog.deployments.*.profile: exactduring runtime-config
materialization. Thevllm-sr-rocm:latestimage (built later, 20:28 UTC) removedprofileand fatally rejects it. No published CLI currently matches the image. - Crucially, the image is fine with the field simply absent (it falls back to
batching defaults). So the config is valid *