Recommendations

#42
by SmbodyGaming - opened

I've tried using this model, but I cannot get it to produce any useful outputs or interactions. It seems to be fairly specialized to your setup (it constantly tries to invoke skills and tools that do not exist, does not understand file paths in the slightest, and completely ignores most instructions). I tried with your llama.ccp recommended flags, but I feel like I must be doing something wrong

  --n-gpu-layers -1 /
  --no-mmap -fa on /
  --jinja /
  --temp 1.0 --top-p 0.95 --top-k 64 /

and a bunch of other configurations, but it is unusable for me currently. Here is my exact set of params for transparency (for gemma4-v2-Q4_K_M):

PARAMS_GEMMA4=(--ctx-size 100000 --flash-attn on --n-gpu-layers -1 --temp 1.0 --top-p 0.95 --top-k 64 --no-mmap --jinja -m $MODEL_PATH_GEMMA4)

So I was hoping to find out your recommendations and if there were any specific plugins/skills/tools the model was trained against. Do you have any recommendations for other changes to the model input params?

I'm still new to tweaking local llms, so I'd appreciate any insight/input you have. Thank you!

Good news first: your params are basically fine β€” this isn't a config bug like some of the other reports here, it's a
model-fit issue. Let me explain what's going on.

v2 is an agentic / coding-execution model, not a general chatbot. It was trained almost entirely on agentic coding
traces β€” reading files, editing them, running shell/terminal tools β€” using Gemma 4's native tool-calling format. So
when you run it as a plain chat assistant with no tools actually wired up, it behaves like it's mid-agentic-session:
it tries to call tools/skills that aren't there, "references file paths" it can't reach, and feels like it ignores
your chat instructions. That's not it being broken β€” it's it doing exactly what it was specialized for, just in the
wrong environment.

So my recommendation depends on what you want:

  • If you want a general assistant / chat / Q&A / planning: use my main distillation model instead β€”
    yuxinlu1/gemma-4-12B-it-Claude-4.6-4.8-Opus-GGUF. That one is tuned for general reasoning and behaves like a normal
    assistant. (Plain google/gemma-4-12B-it also works for that.)
  • If you want agentic coding: run v2 inside a real agentic harness β€” Cline, Roo, OpenCode, or Claude Code via a bridge
    β€” where actual file/shell tools exist and --jinja parses its tool calls into real actions. In that setup the
    tool-calling becomes the feature instead of noise.

On your question about specific plugins/skills: there's no special plugin ecosystem it was trained against. The
agentic data was coding sessions (file read/edit/write + shell commands) in Gemma 4's native tool format. What you
need isn't a particular plugin β€” it's a harness that exposes real tools, plus --jinja so the tool calls are parsed.

Param tweaks:

  • --ctx-size 100000 is large; unless you have a lot of VRAM, drop to 16384–32768. Won't change the behavior above, but
    it'll save memory and speed things up.
  • Sampling is good as-is. For long one-shot code generation, use --repeat-penalty 1.0 (and don't stack DRY); for
    shorter/agentic turns 1.05–1.1 is fine.
  • If you do use it for chat anyway, a tight system prompt helps rein it in.

Honest heads-up: the over-eager tool-calling on simple turns is a known rough edge of v2. I'm specifically fixing it
in v3 (self-gating, so it only reaches for tools/extended thinking when the task actually needs it). Thanks for the
detailed write-up β€” and don't worry, you weren't doing anything wrong.

thank for your effort , i try your model for agentic code generation an analityc plc /programmable logic control , i still trying using this model and let see

@ilyassayunus88 Thanks, and glad you're giving it a go! One honest heads-up for your case: PLC / IEC 61131-3 (structured text, ladder, vendor dialects like Siemens SCL or Codesys) is a niche the model wasn't specifically trained on β€” its agentic strength is general file-read/edit/shell coding, so expect solid help on the surrounding scripting and logic, but weaker coverage on vendor-specific PLC syntax. Run it inside a real agentic harness with the tools actually wired up, and keep the tool list focused. If you hit specific failures, paste the snippet here and I'm happy to dig in.

Thanks for the in depth reply, I really appreciate it!

I should have been more clear that I am running it within an agentic harness (OpenCode), which was why I was surprised that it was trying to invoke non-existing skills/tools and was struggling with file paths. I played around with it some more and I could get it to write to a file within the current directory or a couple of levels deep, but it started hallucinating paths again for more than a couple directories deep. Probably the biggest issue I've been dealing with is it making up more work to do after it has completed simple instructions. Here are a couple of the interactions so you can see what I mean:

gemma4

gemma4-2

gemma4-3

In the first one it decided to write script.js instead of script.sh, then ran it, then started trying to commit the work. In the second, I fixed my grammar mistake and it went a little bit better until it decided to run the script again which confused it into cloning the official gemma repo for some reason. In the last one, I gave it a sub-directory to output to, and that resulted in it hallucinating where the current directory was.

To be transparent, there were a couple of runs where it did follow the instructions and created the correct file. Only one of the successful ones stopped after completing the task though, all the others started committing, tagging, pushing, moving to other directories to do work, etc. --repeat-penalty helped a lot, as did turning down the temp to 0.6, but it was still hallucinating work each time. It's a little scary to leave unsupervised lol. I tried keeping it restricted to read-only mode as a primary agent at one point to keep it from going wild on my system, but it spawned a subagent with write mode to start making a mess. I think using it as a subagent with a dedicated agent file to restrict it's actions is probably the best use case, I'll need to play around with that some more.

I'm also going to checkout your v1 model, and I look forward to seeing how the v3 tuning works out!

One other thing, could you elaborate on what you meant by "(and don't stack DRY);"? I understand the general concept, but I'm not sure if you're referring to my prompt style or something that can be tweaked with settings. Thanks again, and keep up the good work!

Sign up or log in to comment