Repository navigation
feat(model-serving): the muse-glimmer-30b preset on vLLM's own image - #673
Merged
Merged
Conversation
Meta's Muse Glimmer 30B as Red Hat AI's FP8 block quantization, served from its signed model image on one 48 GB GPU at 32k context, four concurrent requests, one image per prompt, with vLLM's muse_glimmer tool and reasoning parsers under vLLM v0.30.0's Muse Glimmer chat template. The model's architecture and parsers first ship in vLLM 0.28.0 and the llm-d runtime carries an older vLLM, so the preset names its runtime in spec.template: gsoci.azurecr.io/giantswarm/vllm-openai:v0.30.0, the signed copy retagger pins by digest. The well-known template's command runs it unchanged. Part of #597
Published Helm chart
|
| Chart | agent-platform |
| Version | 4.81.3-rb7c6d220t20260926143123h5c1bc38 |
| OCI reference | oci://gsoci.azurecr.io/charts/giantswarm/agent-platform:4.81.3-rb7c6d220t20260926143123h5c1bc38 |
| Digest | sha256:a9d3387cbed0f73b289b0e6723b4d21d9beb373bbbdc4d99d5c7c3de31cd22b9 |
| Registry | public — gsoci.azurecr.io |
| Git catalog | giantswarm-test-catalog (index) |
Pull this chart
helm pull oci://gsoci.azurecr.io/charts/giantswarm/agent-platform --version 4.81.3-rb7c6d220t20260926143123h5c1bc38Posted by architect-orb · build 14809 · commit 5c1bc38 · updated in place on every push
Published Helm chart
|
| Chart | agent-platform-connectivity |
| Version | 4.81.3-rb7c6d220t20260926143123h5c1bc38 |
| OCI reference | oci://gsoci.azurecr.io/charts/giantswarm/agent-platform-connectivity:4.81.3-rb7c6d220t20260926143123h5c1bc38 |
| Digest | sha256:fb27bae6397db24f61763848fa3d05715fe139e3646470e0cde212873de1d0d4 |
| Registry | public — gsoci.azurecr.io |
| Git catalog | giantswarm-test-catalog (index) |
Pull this chart
helm pull oci://gsoci.azurecr.io/charts/giantswarm/agent-platform-connectivity --version 4.81.3-rb7c6d220t20260926143123h5c1bc38Posted by architect-orb · build 14807 · commit 5c1bc38 · updated in place on every push
4 of 5 tasks
…reset-597 * origin/main: (28 commits) feat(dashboards): turn done (final flush) p50 and p95 on Klaus Gateway (#701) feat: the managers', the portal's and mcp-kubernetes' traces to the platform's OTLP gateway (#700) feat(kagent): compact agent histories only past 600000 tokens (#699) fix: keep the single-replica components drainable (maxUnavailable 1) (#697) feat(model-serving): export the model pods' traces to the platform's OTLP gateway (#695) fix(substrate): keep Substrate's metrics on the scrape path (#694) feat: one OTLP collector for every exporter (global.observability.traces.otlp) (#696) fix(netpol): admit the scrape of the kagent controller and atenet-egress ext-proc (#691) fix(serving): make the models Gateway an internet-facing NLB on AWS (#692) fix(model-manager): reach the workload clusters' API servers (#689) feat(components): the CloudNativePG operator chart and image from gsoci (#671) fix(serving): tear the serving slice down in order, configs freed (#679) fix: derive the managers' OAuth login from muster's OAuth server (#678) feat(model-serving): stamp the cache claim's tier as annotations (#676) fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686) fix(connectivity): the egress gateway reaches the Substrate credential provider (#685) feat(llm-routing): route the LLM endpoint by model, with API keys (#672) feat: the kagent line and the Substrate line at 1.1.0 (#665) fix(model-manager): read served models wherever model-manager serves (#681) feat(model-serving): check every shipped preset's parsers by model family (#674) ... # Conflicts: # CHANGELOG.md # tests/verify-gpu-pool.py
2 tasks
…reset-597 * origin/main: fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675) fix(hooks): serving teardown retries once Flux's API is gone (#707) feat(cluster-manager): provider aws opens the CAPA API server LBs (#704) feat: the kagent line at 1.2.0 with its SDK-spec OTel values (#693) # Conflicts: # CHANGELOG.md # tests/verify-gpu-pool.py
teemow
added a commit
that referenced
this pull request
Sep 26, 2026
…8-kv-611 * origin/main: feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673) fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675) fix(hooks): serving teardown retries once Flux's API is gone (#707) feat(cluster-manager): provider aws opens the CAPA API server LBs (#704) feat: the kagent line at 1.2.0 with its SDK-spec OTel values (#693) # Conflicts: # README.md # tests/verify-gpu-pool.py
teemow
added a commit
that referenced
this pull request
Sep 26, 2026
…okens * origin/main: feat(connectivity): retire the model-manager REST route (#711) feat(model-serving): gemma-4-31b at 32k with an fp8 KV cache (#709) feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673) fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675) fix(hooks): serving teardown retries once Flux's API is gone (#707) feat(cluster-manager): provider aws opens the CAPA API server LBs (#704) # Conflicts: # CHANGELOG.md
teemow
added a commit
that referenced
this pull request
Sep 26, 2026
…n-post-delete * origin/main: fix(connectivity): catalog ModelConfigs inherit the platform maxTokens (#712) feat(connectivity): retire the model-manager REST route (#711) feat(model-serving): gemma-4-31b at 32k with an fp8 KV cache (#709) feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673) fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675) fix(hooks): serving teardown retries once Flux's API is gone (#707) feat(cluster-manager): provider aws opens the CAPA API server LBs (#704) Signed-off-by: Timo Derstappen <teemow@gmail.com> # Conflicts: # CHANGELOG.md
teemow
added a commit
that referenced
this pull request
Sep 26, 2026
…se-placement * origin/main: fix(hooks): the bundled engine goes after Helm's delete pass (#713) fix(connectivity): catalog ModelConfigs inherit the platform maxTokens (#712) feat(connectivity): retire the model-manager REST route (#711) feat(model-serving): gemma-4-31b at 32k with an fp8 KV cache (#709) feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673) # Conflicts: # CHANGELOG.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The signed model image for Muse Glimmer 30B exists (
giantswarm/models/muse-glimmer-30b-fp8:1deb4641ff84). Its architecture (MuseGlimmerForConditionalGeneration) and itsmuse_glimmertool and reasoning parsers first ship in vLLM 0.28.0. The platform's llm-d runtime carries vLLM 0.23, and no llm-d release carries 0.28 yet (v0.9.0 ships 0.26), so a preset on the well-known runtime would never start (#597).Change
muse-glimmer-30b: Red Hat AI's FP8 block quantization, 32.03 GiB of weights, on one 48 GB GPU (g6e.2xlarge/g6e.4xlarge). It serves 32k context, four concurrent requests and one image per prompt, with--reasoning-parser=muse_glimmer --enable-auto-tool-choice --tool-call-parser=muse_glimmerunder vLLM v0.30.0'sexamples/tool_chat_template_muse_glimmer.jinja(aschat-templates/muse-glimmer-30b.jinja).spec.template.containers[main].imagenamesgsoci.azurecr.io/giantswarm/vllm-openai:v0.30.0. That's the copy ofvllm/vllm-openai:v0.30.0that retagger pins by index digestsha256:8a69ffad…(chore: retag vllm/vllm-openai v0.30.0 pinned by digest retagger#1245), and it verifies against the Giant Swarm CircleCI identity. The well-known template's command runs it unchanged: bash,vllm serve /mnt/models, and version-gated flags read fromvllm --version. It's the one shipped preset that names an image, until an llm-d release carries vLLM ≥ 0.28.tests/verify-gpu-pool.py: the preset is inOCI_PRESETS, and a golden hold leaves its ConfigMaps and discovery name out untilorigin/maincarries them. README and CHANGELOG are updated.Checks
make verify-presets verify-gpu-pool verify-serving-slice verify-model-images verify-images verify-preset-weightspass. 14 shipped presets' arguments survive the template's eval, and the weights are declared at 33 GiB against the Hub's 32.03 (+3.0%).Proof
On gazelle, 2026-09-26, one L40S (g6e.4xlarge), this preset rendered as an
LLMInferenceService: vLLM 0.30.0 resolvedMuseGlimmerForConditionalGenerationand answered a tool-calling request with HTTP 200 in 3.5 s (finish_reason: tool_calls, reasoning viamuse_glimmer). Details are on #597. The branch also adds the family's row tomodel-families.yaml(runtimeImage: vLLM 0.30.0's parsers) and moves theverify-wiringpreset count to 14.Closes #597.