Text Generation
PEFT
Safetensors
Transformers
lora
unsloth
gemma
gemma-4
tool-calling
function-calling
agent
coding
code-generation
conversational
Instructions to use TheOneWhoWill/Coding-Monkey-Gemma with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use TheOneWhoWill/Coding-Monkey-Gemma with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("google/gemma-4-12B-it") model = PeftModel.from_pretrained(base_model, "TheOneWhoWill/Coding-Monkey-Gemma") - Transformers
How to use TheOneWhoWill/Coding-Monkey-Gemma with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="TheOneWhoWill/Coding-Monkey-Gemma") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("TheOneWhoWill/Coding-Monkey-Gemma", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use TheOneWhoWill/Coding-Monkey-Gemma with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "TheOneWhoWill/Coding-Monkey-Gemma" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TheOneWhoWill/Coding-Monkey-Gemma", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/TheOneWhoWill/Coding-Monkey-Gemma
- SGLang
How to use TheOneWhoWill/Coding-Monkey-Gemma 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 "TheOneWhoWill/Coding-Monkey-Gemma" \ --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": "TheOneWhoWill/Coding-Monkey-Gemma", "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 "TheOneWhoWill/Coding-Monkey-Gemma" \ --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": "TheOneWhoWill/Coding-Monkey-Gemma", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Desktop
- Docker Model Runner
How to use TheOneWhoWill/Coding-Monkey-Gemma with Docker Model Runner:
docker model run hf.co/TheOneWhoWill/Coding-Monkey-Gemma
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,91 @@
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
| 3 |
+
base_model: google/gemma-4-12B-it
|
| 4 |
+
library_name: peft
|
| 5 |
+
pipeline_tag: text-generation
|
| 6 |
+
tags:
|
| 7 |
+
- lora
|
| 8 |
+
- transformers
|
| 9 |
+
- unsloth
|
| 10 |
+
- gemma
|
| 11 |
+
- gemma-4
|
| 12 |
+
- tool-calling
|
| 13 |
+
- function-calling
|
| 14 |
+
- agent
|
| 15 |
+
- coding
|
| 16 |
+
- code-generation
|
| 17 |
---
|
| 18 |
+
|
| 19 |
+
# Coding Monkey Gemma
|
| 20 |
+
|
| 21 |
+
[](https://opensource.org/licenses/Apache-2.0)
|
| 22 |
+
[](https://lorivo.dev/)
|
| 23 |
+
|
| 24 |
+
Many people praise Gemma 4 26B for it's coding capabilities and for good reason. However the model is simply too large to run comfortable without heavy quantization compromises on a consumer GPU and so I turned to the 12B varient only to find that it fails at even basic coding tasks because it doesn't understand how to properly utilize the correct tools from the agent harness. So this model is a fine tune of Gemma 4 12B with reliable tool calling. The results speak for themselves showing a 71% reliability on exact tool calling on a 102-prompt held-out set which means correct ChatML syntax and parameter placement. This is a huge improvement over the base model which only had a 26.5% reliability on exact tool calling. I also saw a 16% increase in the number of tool calls actually emitted by the model which means that the model is more likely to actually use the tools it has access to which is huge for coding tasks. This model is great for anyone who wants to do local coding but is tight on VRAM.
|
| 25 |
+
|
| 26 |
+
| Metric | Base `-it` | Fine-tuned | Δ |
|
| 27 |
+
| --- | ---: | ---: | ---: |
|
| 28 |
+
| Format Validity | 0.824 | 0.980 | **+0.157** |
|
| 29 |
+
| Exact Accuracy | 0.265 | 0.706 | **+0.441** |
|
| 30 |
+
| Emitted Calls Fraction | 0.824 | 0.980 | **+0.157** |
|
| 31 |
+
|
| 32 |
+
_n = 102 held-out prompts, none ever seen during training. This set is harder than
|
| 33 |
+
an earlier 67-item eval because it now includes multi-argument database,
|
| 34 |
+
knowledge-graph and shell tasks that are matched exactly._
|
| 35 |
+
|
| 36 |
+
## Training Details
|
| 37 |
+
For the training of this model I used the QLoRA method with a 16GB 5070 Ti. It 3 hours and 48 minutes to complete (480 steps) however previous protyping totaled 30 hours aggregate. The training loss went from 1.695 to 0.120 and the held-out eval loss was 0.206. I could've trained for much longer but I ran into overfitting issues on previous attempts so I decided that training on a small concentrated dataset was the best option. The training dataset consisted of 5,211 high-quality agentic/tool-calling examples, every one formatted with Gemma 4's own chat template. The glaiveai was the bulk of the data but I also included AgentInstruct examples because they had real world bash and terminal actions. I converted those raw ReAct trajectories (bash, SQL, web, and knowledge-graph actions) into real structured Gemma tool calls instead of plain text. I split it 98/2 into 5,107 train / 104 held-out val, and the eval set was built only from the val split so none of the 102 scored prompts were ever seen during training preventing contamination.
|
| 38 |
+
|
| 39 |
+
The breakdown by source:
|
| 40 |
+
|
| 41 |
+
| Source | Examples |
|
| 42 |
+
| --- | ---: |
|
| 43 |
+
| `glaiveai/glaive-function-calling-v2` | 3,347 |
|
| 44 |
+
| `zai-org/AgentInstruct` — alfworld | 336 |
|
| 45 |
+
| `zai-org/AgentInstruct` — webshop | 351 |
|
| 46 |
+
| `zai-org/AgentInstruct` — os | 195 |
|
| 47 |
+
| `zai-org/AgentInstruct` — mind2web | 120 |
|
| 48 |
+
| `zai-org/AgentInstruct` — db | 538 |
|
| 49 |
+
| `zai-org/AgentInstruct` — kg | 324 |
|
| 50 |
+
| **Total** | **5,211** |
|
| 51 |
+
|
| 52 |
+
That's \~5,161 actual tool-calling examples (\~99% of the set) trained over 3 epochs with QLoRA `r=16/alpha=32`, LR 2e-4 cosine, and an effective batch size of 32.
|
| 53 |
+
|
| 54 |
+
## Quantization
|
| 55 |
+
This model has fp16, Q8_0, Q6_K, Q5_K_M, and Q4_K_M quantization available in the gguf format. You can find them in this [repository](https://huggingface.co/TheOneWhoWill/Coding-Monkey-Gemma-GGUF)
|
| 56 |
+
|
| 57 |
+
## Usage
|
| 58 |
+
### llama.cpp
|
| 59 |
+
To use this model with llama.cpp you can use the ggufs like so
|
| 60 |
+
```bash
|
| 61 |
+
llama-server \
|
| 62 |
+
-m gemma-coder-Q4_K_M.gguf
|
| 63 |
+
-c 32768
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
### Ollama
|
| 67 |
+
Ollama requires you to create a model file with each gguf so you could have something like this
|
| 68 |
+
```
|
| 69 |
+
FROM ./gemma-coder-Q4_K_M.gguf
|
| 70 |
+
PARAMETER num_ctx 32768
|
| 71 |
+
```
|
| 72 |
+
then you can run it like so with the Modelfile in the same directory as the gguf
|
| 73 |
+
```bash
|
| 74 |
+
ollama create coding-monkey -f Modelfile
|
| 75 |
+
```
|
| 76 |
+
|
| 77 |
+
---
|
| 78 |
+
|
| 79 |
+
## Serving & Deploying Fine-Tuned Adapters?
|
| 80 |
+
|
| 81 |
+
Tired of merging LoRA weights, converting formats, and running quantization scripts just to get an OpenAI-compatible endpoint?
|
| 82 |
+
|
| 83 |
+
Check out **[Lorivo](https://lorivo.dev/)**, a platform built to deploy and serve fine-tuned LoRA adapters instantly with production vLLM backends and standard OpenAI endpoints:
|
| 84 |
+
|
| 85 |
+
- **Zero-Merge Serving:** Mount adapters dynamically on top of open-weight base models (Gemma, Qwen, Llama).
|
| 86 |
+
- **Instant OpenAI Compatibility:** Plug directly into Cursor, Cline, Aider, or your custom agent harnesses.
|
| 87 |
+
- **CLI & Web Control:** Deploy from your terminal via `lorivo deploy` or manage endpoints from the dashboard.
|
| 88 |
+
|
| 89 |
+
👉 **[Deploy your fine-tuned adapters on Lorivo →](https://lorivo.dev/)**
|
| 90 |
+
|
| 91 |
+
---
|