C# & Java

#27
by cnsiva - opened

I’ve noticed that this model is being discussed quite a bit. I’m curious to know if it’s suitable for a large codebase that uses both C# and Java, and that also includes SQL.

Thanks for trying it! Quick honest take:
This v1 was distilled mainly from Composer-2.5 + Fable-5 chain-of-thought, focused on Python, function-level
tasks. C#, Java and SQL ride on the base gemma-4-12B-it's knowledge — I didn't specialize them, but tuning
didn't regress general coding either, so do a quick A/B on your own snippets.
For a large codebase: it's a 12B trained on single-turn examples, so think of it as a focused pair-programmer
(write/explain/refactor a function, draft a SQL query). It has a 256K context so you can feed it the relevant
files — but it won't autonomously navigate a whole multi-language repo yet.
v2 (in progress) will add broader language coverage + terminal/agentic data — exactly the multi-step,
multi-file workflows a big codebase needs. Feedback like yours shapes it. 🙏

Thank you for the update. Support for Java, C#, and SQL is essential for us to use this model in our real-time production codebase.

Would be very interested in Java, Golang support in v2, along with terminal/agentic performance improvements. I believe the base model is not terrible, as I read another post indicating that terminal operations are happening reasonably well after right Jinja template is selected. IIRC it was on little-coder (pi) based agentic coding harness discussion group. Your model landing page / model card is already pretty good (in fact one of the most objectively informative ones I've seen for a distill/finetune), but if you could also show/share how you did it, would be great.

@bdutta Really appreciate that — glad the card reads honest rather than hype. 🙏

Good news on languages: v2's coding data already includes an open-domain multilingual set aimed at exactly the
underrepresented ones — Java, Go, C#, SQL (plus Rust, C++) — so it covers what both you and cnsiva need, on top of the
new terminal/agentic multi-step data that v1 was missing.

And your read on the base is right: the native Gemma 4 tool protocol works fine once the client actually loops it (the
jinja path) — v1's weakness isn't the format, it's that it's a single-turn fine-tune, so it doesn't drive the
multi-step loop on its own. v2 targets that directly.

On how I did it — happy to share. Short version: black-box distillation from Claude / Composer chain-of-thought, and
for the coding data I made it verifiable — generate a CoT solution, actually run it against the task's tests, and keep
only the samples that pass — then a QLoRA fine-tune on a single consumer GPU (RTX 5090), merge, and quantize to GGUF.
If folks want, I'll write up a proper methodology post with the details. Would that be useful?

yuxinlu1 pinned discussion

@bdutta Really appreciate that — glad the card reads honest rather than hype. 🙏

Good news on languages: v2's coding data already includes an open-domain multilingual set aimed at exactly the
underrepresented ones — Java, Go, C#, SQL (plus Rust, C++) — so it covers what both you and cnsiva need, on top of the
new terminal/agentic multi-step data that v1 was missing.

And your read on the base is right: the native Gemma 4 tool protocol works fine once the client actually loops it (the
jinja path) — v1's weakness isn't the format, it's that it's a single-turn fine-tune, so it doesn't drive the
multi-step loop on its own. v2 targets that directly.

On how I did it — happy to share. Short version: black-box distillation from Claude / Composer chain-of-thought, and
for the coding data I made it verifiable — generate a CoT solution, actually run it against the task's tests, and keep
only the samples that pass — then a QLoRA fine-tune on a single consumer GPU (RTX 5090), merge, and quantize to GGUF.
If folks want, I'll write up a proper methodology post with the details. Would that be useful?

+1

Awesome! The V2 is released. Thank you! @yuxinlu1
Can we expect MLX version too?

Sign up or log in to comment