Instructions to use Micklavin/gemma-4-12B-it-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Micklavin/gemma-4-12B-it-4bit with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("Micklavin/gemma-4-12B-it-4bit") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use Micklavin/gemma-4-12B-it-4bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Micklavin/gemma-4-12B-it-4bit"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Micklavin/gemma-4-12B-it-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use Micklavin/gemma-4-12B-it-4bit with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "Micklavin/gemma-4-12B-it-4bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "Micklavin/gemma-4-12B-it-4bit" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Micklavin/gemma-4-12B-it-4bit", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use Micklavin/gemma-4-12B-it-4bit with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Micklavin/gemma-4-12B-it-4bit"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Micklavin/gemma-4-12B-it-4bit
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Micklavin/gemma-4-12B-it-4bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Micklavin/gemma-4-12B-it-4bit"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Micklavin/gemma-4-12B-it-4bit" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Access Gemma on Hugging Face
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
To access Gemma on Hugging Face, you must review and agree to Google's Gemma Terms of Use and Prohibited Use Policy. Requests are processed immediately.
Log in or Sign Up to review the conditions and access this model content.
Gemma 4 12B IT — 4-bit MLX
A 4-bit quantization of google/gemma-4-12B-it for MLX on Apple Silicon.
Produced for Triad, a local three-model token-fusion experiment. These are the exact weights that project was built and validated against, published so its results can be reproduced.
Size on disk: 6.3 GB (down from ~24.8 GB at bf16)
⚠️ License notice — read before using
Gemma is not released under an open-source license. It is governed by the Gemma Terms of Use and the Gemma Prohibited Use Policy, which impose restrictions that Apache-2.0 and similar licenses do not.
By downloading or using this model you agree to those terms, exactly as if you had obtained it from Google directly. Quantization creates a derivative — it does not relicense anything. If you redistribute this model or anything derived from it, you are responsible for passing these terms and restrictions on to your recipients.
Some copies of Gemma quantizations circulating on the Hub are mislabelled
apache-2.0, including the upstream metadata this conversion inherited. That label was incorrect and has been corrected here. Do not rely on a license tag alone — read the terms.
Requirements
- Apple Silicon
- A build of
mlx-lmthat supportsgemma4_unified— the PyPI release does not
⚠️
pip install mlx-lmis not sufficient for this modelThis model's config declares
model_type: gemma4_unified. mlx-lm resolves that through itsMODEL_REMAPPINGtable (gemma4_unified → gemma4), but that entry is not present in the PyPI release — verified against themlx-lm0.31.3 wheel, whoseMODEL_REMAPPINGhas nogemma4_unifiedkey and which ships nomodels/gemma4_unified.py. Installing from PyPI and callingload()on this repo will fail to resolve the architecture.Install from the git commit this model was built and verified against:
pip install "mlx-lm @ git+https://github.com/ml-explore/mlx-lm.git@cf10f962b7a20e63a6df43dbf0faf06070153d40"Once a PyPI release includes
gemma4_unifiedinMODEL_REMAPPING, plainpip install mlx-lmwill work and this note can be ignored. Check before assuming either way.
No packages beyond mlx-lm are required at load time. (mlx-optiq is used during
conversion — see Quantization provenance — but is not needed to load this repo:
verified by blocking the optiq import and loading successfully.)
Usage
from mlx_lm import generate, load
model, tokenizer = load("Micklavin/gemma-4-12B-it-4bit")
prompt = tokenizer.apply_chat_template(
[{"role": "user", "content": "What is the chemical symbol for gold?"}],
tokenize=False,
add_generation_prompt=True,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=256))
Thinking mode
Gemma 4's chat template branches on enable_thinking and emits a <|channel>thought block. Triad disables it so all ensemble members answer in the same phase:
prompt = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
Note that with thinking disabled this template still opens a thought channel where other models' templates close theirs. If you filter model output, account for that.
Quantization provenance
Converted with mlx_lm.convert:
convert(
hf_path="google/gemma-4-12B-it",
mlx_path="models/gemma-4bit",
quantize=True,
q_bits=4,
q_group_size=64,
dtype="bfloat16",
)
Resulting config: {"group_size": 64, "bits": 4, "mode": "affine"}, model_type: gemma4_unified. Per mlx-lm's remapping comment, this is the encoder-free multimodal variant with vision and audio weights stripped by sanitize() — so this is a text-only conversion.
| Component | Version |
|---|---|
| mlx | 0.32.0 |
| mlx-lm | 0.31.3 |
| transformers | 5.12.1 |
The reproduction script is scripts/quantize_models.py.
Evaluation
None beyond a smoke test. No benchmark comparison against the bf16 original was run, so the quantization's quality cost is unmeasured. Treat it as an untested 4-bit conversion rather than a validated one.
License
Gemma Terms of Use. See the notice above — this is a custom license with use restrictions, not an open-source one.
- Downloads last month
- 8
4-bit