the-veil-12b: a Gemma 12B fine-tune that reads its tool list instead of guessing

#1
by gary23w - opened
Owner

the-veil-12b is a Gemma 4 12B derivative (GGUF, Apache-2.0, about 7.4 GB for the Q4_K_M) fine-tuned for one failure mode we kept hitting with local models: hand one a JSON tool list and it answers from memory instead of reading it. Give it read_file and it calls Read. Give it web_search and it calls WebSearch. Both get rejected as unknown tools and the turn is lost, which reads as "small models can't do tool use" when the real problem is that the model never looked at the tool list.

What changed

We trained it so the tool array in front of it is the only way to produce a correct answer. Every training example carries a different tool array, sampled across nine schemas plus random subsets of a 58-tool registry, so memorizing any single belt cannot help.

Results on 94 held-out drills, vs the stock model it was tuned from

Drill Stock the-veil-12b
General tool use (30) 18 25
Tools never seen in training (24) 18 23
Invented tool names 13 4

Try it

ollama run hf.co/gary23w/the-veil-12b:Q4_K_M

Or llama serve -hf gary23w/the-veil-12b:Q4_K_M, vLLM, LM Studio, Jan, Pi, etc. Full quick starts are on the model card.

It is the first official model for the nl-veil harness (https://github.com/gary23w/nl-veil), which ships 20 tools for chat, 15 for scouts, 8 for assemblers, and bolts on 12 more for browser sessions. Model card with the full details: https://huggingface.co/gary23w/the-veil-12b

Happy to answer questions about the data recipe, the chat template, or the harness. Feedback welcome.

Sign up or log in to comment