It’s Gemma going to be capable of running on DGX Spark?
Do you know about any recipe for previous versionss?
Google its introducing Gemma 4 — our most intelligent open models to date. Purpose-built for advanced reasoning and agentic workflows, Gemma 4 delivers an unprecedented level of intelligence-per-parameter. This breakthrough builds on incredible community momentum: since the launch of our first generation, developers have downloaded Gemma over 400 million times, building a vibrant Gemmaverse of more than 100,000 variants. We listened closely to what innovators need next to push the boundaries of AI, and Gemma 4 is our answer: breakthrough capabilities made widely accessible under an Apache 2.0 license.
Removing vllm serve seems to have worked (at least, it’s gotten further and has stalled, which I presume is it downloading the model). I’m not sure why, since the output seems to suggest serve is a valid command 🙃
I hope they release bigger versions, because it looks promising for desktop cards, but underwhelming for the Spark if you’re looking for a model with intelligence scores closer to Qwen3.5-122B.
I have tool call failling hard with gemma-4-26B-A4B-it. I guess it’s chat template or tool parsing problem. I used vllm arm official image for gemma-4 by the way.
Got it right, claude set it up. Now my hermes working fine… Before no tool call was working due to the new tool call parsing :
solution● Hermes + Gemma 4 tool calling fix
Root cause: vLLM’s --tool-call-parser pythonic extracts Gemma 4’s tool calls from the
model output but returns them as plain text in content rather than populating the
tool_calls field:
Hermes only checks message.tool_calls — if it’s empty, it treats the response as a normal
text reply. Silent failure.
The fix — 3 files in hermes-agent:
environments/tool_call_parsers/pythonic_parser.py (new file)
A parser that converts call:func_name{key:value,key2:value2} → structured
ChatCompletionMessageToolCall objects. Registered as “pythonic” in the parser registry.
environments/tool_call_parsers/init.py
One line: import and register the new parser.
run_agent.py (the actual CLI agent loop, ~line 7749)
Added a fallback block just before if assistant_message.tool_calls:. When tool_calls is
empty, it inspects content for either <tool_call> (existing Hermes/JSON format) or the
regex call:[A-Za-z_]\w*{ (Gemma 4 pythonic format), and if matched, runs the appropriate
parser to populate tool_calls before dispatch.
I don’t know how the vllm-openai:gemma4-cu130 Docker image was built or whether it’ll be updated with this.
I had a quick test in open-webui (without tools) and it didn’t seem bad from the few things I asked it. I’m a little skeptical it’ll compare with the larger models that fit on a Spark though.
Looks like there has also been a release (0.19.0) of vllm since (which also include sthe PR to fix tools), so the gemma-specific container is probably unnecessary. I expect vllm/vllm-openai:latest-aarch64-cu130 and vllm/vllm-openai:v0.19.0-aarch64-cu130 will also work.
Edit: No, I spoke too soon. Even though it’s in the release notes for 0.19.0, it fails for me because of the transformers version.
Edit2: I went back to vllm/vllm-openai:gemma4-arm64-cu130 (I don’t know why this one is arm and usually they use aarch in the tag.. maybe being built manually?), which seems like it was updated since the original release, so hopefully includes the tool fix. Will try that out later.