Text Generation
Transformers
Safetensors
gemma4_unified
image-text-to-text
gemma4
coding
agentic
terminal
tool-use
reasoning
thinking
conversational
Instructions to use yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2") model = AutoModelForMultimodalLM.from_pretrained("yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2
- SGLang
How to use yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2 with Docker Model Runner:
docker model run hf.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2
File size: 10,735 Bytes
82fca8c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | ---
license: apache-2.0
base_model: google/gemma-4-12B-it
library_name: transformers
pipeline_tag: text-generation
tags: [gemma4, coding, agentic, terminal, tool-use, reasoning, thinking, safetensors, transformers]
---
# ๐ป๐ค Gemma4-12B **v2** โ **safetensors master (full precision)** โจ
### Coding + Agentic Edition ยท Composer 2.5 ร Fable 5 ยท v2
> **This is the full-precision `safetensors` master** for my Gemma 4 12B **coding + agentic** fine-tune โ the same
> model many of you have been running as GGUF, now in its original weights. ๐ง ๐ ๏ธ v2 is the big **agentic** upgrade:
> it reads, reasons, *uses tools*, and works through multi-step technical tasks before it acts. This repo is for
> *builders* โ roll your own quants, fine-tune further, or run it in `transformers`.
---
## ๐ Surprise!
A huge thank-you for all the attention this project has gotten โ really, thank you. ๐ I only managed to get out
**tonight** to upload the **full-precision original (safetensors master)** of this model, so sorry for the wait โ I'd
planned to put it up last week. But the delay comes with **two big surprises** I've been dying to share:
**1. v3 is coming soon.** ๐ฎ The next version is on its way and will fix several of the known issues you've reported.
**2. I'm now working with a top-tier AI lab to give back to the open-source community.** ๐ค Many of you have already
noticed the side effects in v1 and v2 โ and honestly they come down to just two things: **(1) not enough compute, and
(2) one person with limited expertise** behind the whole thing. This collaboration **solves both of those completely.**
And the **benchmarks you care about will absolutely be addressed** โ the things I simply couldn't fully pull off before
because of time and compute limits. The people working on this with me are **PhDs from top universities, with seriously
strong papers and citation records.** Just think about that for a second: the people who *actually build large models*
are now contributing to the open-source community *together with me* โ that is genuinely **wild**. ๐คฏ We're in active
discussions right now, and the project is still in the **R&D phase**, so I can't share specifics yet โ but the **moment**
I have news, **you'll be the first to know.** ๐
---
## ๐ฏ What this repo is for
This repo holds the **un-quantized master weights** (`model.safetensors`, bf16). Use it to:
- ๐ง **Roll your own quants** โ make custom GGUF / **MLX** / AWQ / GPTQ builds from full precision.
- ๐งช **Fine-tune further** โ it's a clean base for your own LoRA / continued training.
- ๐ค **Run it in `transformers`** (needs a recent build with `gemma4_unified` support).
> ๐ **Just want to run it?** You don't need this repo โ grab a ready-made quant from the
> **[GGUF repo โ](https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF)** (runs in
> ~4.5 GB of VRAM / unified memory in LM Studio, Ollama, llama.cpp, Janโฆ). This master is for *builders*. ๐
---
## ๐ The headline โ it works as an agent (tau2-bench)
v2 is built for **coding + agentic** work โ writing code, running commands, using tools, debugging, multi-step
technical tasks. The clearest signal is **tau2-bench `telecom`**, an agentic tool-use benchmark whose
*diagnose โ fix โ verify* loop mirrors real terminal/debugging work:
| tau2-bench **telecom** ยท 20 tasks ยท local, same harness, **all Q8_0** | score |
|---|---|
| official `gemma-4-12B-it` (base) | **~15%** |
| ๐ข **Gemma4-12B v2 (this model)** | **~55%** |
โ Roughly **3.5ร higher** than the base model on technical-agentic tasks. ๐ฏ
> ๐ฌ *Honest methodology:* these are **local, same-harness, relative** numbers (**all models tested at Q8_0**, greedy
> decoding, self-simulated user, 20 tasks). They are **not** directly comparable to published tau2-bench leaderboard
> figures (different user-simulator, full task sets, full precision) โ local self-eval runs *systematically lower* than
> published scores. Read them as **"v2 vs the base model under identical conditions"**, which is the comparison that
> actually matters here.
**Grounded, not made-up.** A coding/terminal *fabrication probe* (tasks that deliberately tempt the model to invent
file paths / function signatures / values) found v2 **grounds before it acts** just like the base โ it `grep`/`read`/`ls`
first, and **doesn't make things up** (0% fabrication, on par with the base).
**The trade-off โ no free lunch.** On a general-knowledge benchmark (**MMLU-Pro**), v2 lands a little **below** the base โ
completely normal for a focused fine-tune: you trade a sliver of broad-knowledge breadth for coding + agentic strength.
Need a generalist? Try my general-purpose
**[Claude Opus 4.6/4.8 distillation](https://huggingface.co/yuxinlu1/gemma-4-12B-it-Claude-4.6-4.8-Opus-GGUF)** or the
base `google/gemma-4-12B-it`. Need a **local coding/agentic** worker? That's what v2 is tuned for. ๐
---
## ๐ค Run it in transformers
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
repo = "yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, torch_dtype=torch.bfloat16, device_map="auto")
msgs = [{"role": "user", "content": "Write a Python function to check if a string is a valid IPv4 address."}]
inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=1024)
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
```
> ๐ง **Thinking mode:** it thinks in Gemma's native thought channel before answering (keep `enable_thinking=true`, the
> default chat template handles it). Recommended sampling: `temp 1.0, top_p 0.95, top_k 64`; for coding you can also go
> greedy (`temp 0`). Needs a **recent `transformers`** that knows the `gemma4_unified` architecture.
>
> ๐ ๏ธ **Agentic / tool use:** v2 emits structured tool-calls in Gemma 4's **native** protocol. The smoothest agent
> setup is a GGUF quant served with llama.cpp `--jinja` (pass your tools via the OpenAI `tools` field) โ see the GGUF
> repo for the full command.
---
## ๐ฆ Ready-made GGUF quants
All from the **[GGUF repo](https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF)**:
| Quant | Size | Vibe |
|------|------|------|
| ๐ก [**Q3_K_M**](https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF/blob/main/gemma4-v2-Q3_K_M.gguf) | **5.7 GB** | great for 8 GB VRAM |
| ๐ต [**Q4_K_M**](https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF/blob/main/gemma4-v2-Q4_K_M.gguf) | **6.87 GB** | the sweet spot ๐ (recommended) |
| ๐ฃ [**Q6_K**](https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF/blob/main/gemma4-v2-Q6_K.gguf) | **9.11 GB** | near-lossless |
| โช [**Q8_0**](https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF/blob/main/gemma4-v2-Q8_0.gguf) | **11.8 GB** | basically full quality |
> โ ๏ธ GGUF needs a **recent llama.cpp** โ this is the `gemma4_unified` architecture, older builds won't load it.
> โน๏ธ **No Q2_K this release** โ it didn't pass real stress-testing (2-bit is too lossy for 12B coding). Smallest
> reliable quant = **Q3_K_M**.
---
## ๐ What's new in v2 (training)
v2 continues from the v1 coder and adds a big **agentic** push โ the piece v1 was missing:
- **๐ ๏ธ Agentic / terminal** โ real **multi-step tool-use** trajectories (*read โ reason โ act โ verify*), in Gemma 4's
native tool protocol. This is what drove the tau2-bench telecom jump, and it fixes v1's "stops after the first step"
behavior.
- **๐ป Coding** โ verified chain-of-thought over Python tasks (**real CoT, gated on passing tests**) plus the
Fable-5-redo set for the hard cases.
- **๐ General** โ a curated slice of reasoning/instruction data to keep broad competence.
All reasoning is **distilled CoT**. A bittersweet note: none of us saw it coming that **Fable 5 would be retired**, and
only my own dataset holds Fable 5's genuine, self-authored traces โ so for the community-contributed data I **rebuilt the
missing reasoning from scratch with Opus 4.8 (xhigh)**. It may diverge from the original Fable 5 traces, but it was the
only workable path โ and the improvement turned out **really huge**. ๐
---
## โก Speculative decoding (MTP draft) โ verified build
The GGUF repo's `MTP/` folder ships the Gemma 4 multi-token-prediction draft (unsloth's GGUF conversion of Google's
official `gemma-4-12B-it-assistant`) for speculative decoding. Gemma 4 MTP is in **llama.cpp mainline** (PR #23398) โ no
fork needed โ but the `gemma4-assistant` loader is **build-sensitive right now**, so use the exact build below:
- โ
**Verified working: llama.cpp `b9553` (commit `9e3b928fd`).** Reproduced with `gemma4-v2-Q8_0` + the `MTP-Q8_0`
draft: loads cleanly and accelerates generation (~88 โ ~180 tok/s on a simple deterministic prompt; expect ~1.2โ1.3ร
on real coding/thinking). **Lossless** either way.
- โ ๏ธ **Newer builds (e.g. b9702 / b9717) currently crash** while loading the draft with `invalid vector subscript` โ an
**upstream regression** in the `gemma4-assistant` loader path, *not* a problem with the GGUFs. Stick with **b9553**
until it's fixed upstream.
```bat
llama-server -m gemma4-v2-Q8_0.gguf ^
--model-draft MTP\gemma-4-12B-it-MTP-Q8_0.gguf ^
--spec-type draft-mtp --spec-draft-n-max 4 ^
-ngl 99 -ngld 99 -fa on --jinja
```
> โน๏ธ The draft is the generic Gemma 4 assistant (not retrained for v2), so acceptance is a touch lower than a
> model-specific draft would give โ still 100% lossless.
---
## โ ๏ธ Good to know
- **Specialized for coding / terminal / agentic.** General-knowledge facts/numbers should still be double-checked.
- **Reduced refusals:** task-focused training, not safety-aligned โ add your own guardrails for production. Use
responsibly. ๐
- English-centric.
---
## ๐ Base & License
- **License: Apache 2.0.** Gemma 4 is released by Google under
**[Apache 2.0](https://ai.google.dev/gemma/apache_2)** (unlike the older Gemma 1/2/3 terms), so this fine-tune is
**Apache 2.0** too โ free to use, modify, and redistribute. ๐
- **Base model:** [`google/gemma-4-12B-it`](https://huggingface.co/google/gemma-4-12B-it).
- Personal/hobby project โ shared as-is, no warranty. Built with time, care, and a lot of coffee. Have fun, and happy
hacking! ๐พโจ
|