Instructions to use guruswami-ai/ocker-bogan-nano with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use guruswami-ai/ocker-bogan-nano with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="guruswami-ai/ocker-bogan-nano", filename="ocker-bogan-nano-Q4_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use guruswami-ai/ocker-bogan-nano with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf guruswami-ai/ocker-bogan-nano:Q4_K_M # Run inference directly in the terminal: llama cli -hf guruswami-ai/ocker-bogan-nano:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf guruswami-ai/ocker-bogan-nano:Q4_K_M # Run inference directly in the terminal: llama cli -hf guruswami-ai/ocker-bogan-nano:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf guruswami-ai/ocker-bogan-nano:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf guruswami-ai/ocker-bogan-nano:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf guruswami-ai/ocker-bogan-nano:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf guruswami-ai/ocker-bogan-nano:Q4_K_M
Use Docker
docker model run hf.co/guruswami-ai/ocker-bogan-nano:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use guruswami-ai/ocker-bogan-nano with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "guruswami-ai/ocker-bogan-nano" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "guruswami-ai/ocker-bogan-nano", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/guruswami-ai/ocker-bogan-nano:Q4_K_M
- Ollama
How to use guruswami-ai/ocker-bogan-nano with Ollama:
ollama run hf.co/guruswami-ai/ocker-bogan-nano:Q4_K_M
- Unsloth Studio
How to use guruswami-ai/ocker-bogan-nano with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for guruswami-ai/ocker-bogan-nano to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for guruswami-ai/ocker-bogan-nano to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for guruswami-ai/ocker-bogan-nano to start chatting
- Pi
How to use guruswami-ai/ocker-bogan-nano with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf guruswami-ai/ocker-bogan-nano:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "guruswami-ai/ocker-bogan-nano:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use guruswami-ai/ocker-bogan-nano with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf guruswami-ai/ocker-bogan-nano:Q4_K_M
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 guruswami-ai/ocker-bogan-nano:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use guruswami-ai/ocker-bogan-nano with Docker Model Runner:
docker model run hf.co/guruswami-ai/ocker-bogan-nano:Q4_K_M
- Lemonade
How to use guruswami-ai/ocker-bogan-nano with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull guruswami-ai/ocker-bogan-nano:Q4_K_M
Run and chat with the model
lemonade run user.ocker-bogan-nano-Q4_K_M
List all available models
lemonade list
ocker-bogan-nano ๐ฆ๐บ
A ~1.5B model that rephrases boring agent/dev status messages into broad Australian ocker โ across a dial from mildly professional (1) to full-noise foul-mouthed (11). It's the bundled "voice brain" for Not-Happy-Jan, a multi-sensory coding-agent feedback system where a stroppy receptionist named Jan tells you how your build went.
โ ๏ธ Content & language warning. This model is built on real Australian slang and, at high ockerism, swears โ enthusiastically and creatively. That's the point: it turns out Australians swear a lot, and a model that can't is no true ocker. If you want it clean, the consuming app bleeps at runtime; the raw model holds nothing back.
Where the ocker comes from ๐บ
The training pairs are synthetic โ ~6,000 status-line โ ocker-line examples generated by
an abliterated 32B teacher in the app's own persona prompt, across every character ร ockerism
level ร intent. But the teacher is grounded in authentic Australian source material so the
slang rings true rather than sounding like a tourist doing an impression:
- Reddit threads โ Australian subreddits, for naturalistic cadence and the way complaints and celebrations are actually phrased.
- One-star complaints to Maccas โ drunken 1am reviews of Australian Macca's (McDonald's) and the like: a goldmine of unfiltered, emotional, peak-ocker register and profanity.
That raw corpus shapes the slang glossary / "ocker source material" used during generation. It
is not redistributed (it lives in gitignored finetune/data/ / ocker-dataset/) โ only
the pipeline and the resulting model are published here. If you reuse such sources, mind each
site's terms and any personal data in scraped text.
The irony
To build an Australian-slang model we had to abliterate (uncensor) both the teacher and the student base โ because every off-the-shelf instruct model politely refuses to swear like a tradie who's just dropped a brick on his foot. So: an uncensored model, to teach a small model, to talk like an Australian. We see no problem here.
What it does
Given a status update it relays it in character as a short spoken line. The system prompt sets the character (Jan / Bazza / Karren), the ockerism level (1โ11), competence, and whether swearing is on (level 11). It was trained on that exact prompt format, so feed it the same.
| ockerism | "the payment handler crashed in prod" โ |
|---|---|
| 2 | "Payment handler kicked the bucket in prod, mate. Gotta bring it back up." |
| 7 | "Bloody payment handler's carked it in prod." |
| 11 | "Bugger all, the payment handler's fucked in prod." |
About Not-Happy-Jan
Not-Happy-Jan turns Claude Code into a 1990s Australian call centre. When you kick off a long inference you're put on hold โ with up to 4 hours of custom hold music โ and the moment it finishes the line clicks, a handset is picked up, and one of a cast of customisable Australian characters delivers the result in real Australian slang:
- Jan โ the stroppy receptionist (ok / progress / celebrate)
- Bazza โ the anxious offsider (warnings)
- Karren โ the escalation manager (errors / "I need to speak to your manager")
It runs entirely locally: a local TTS model gives each character their voice, and
this local LLM (ocker-bogan-nano) writes what they say โ reacting in real time to a
session's alerts and actions (errors, warnings, milestones), each in-character and at a
tunable ockerism level. No cloud, no API key, no per-notification cost; your build status
never leaves your laptop.
Why a specialist fine-tune?
Why bother fine-tuning a tiny model instead of just prompting a big one?
- Authentic language choice. Trained on thousands of in-character pairs, a 1.5B specialist produces consistent, idiomatic ocker โ the right slang, the right swear, the right rhythm โ where a general model drifts, sanitises, or breaks character.
- Local, bundled, free. ~940 MB, sub-second on Apple Silicon. It ships with the app and runs on-device โ no key, no network, no per-call cost for something that fires dozens of times a day.
- The persona is baked in. Trained on NHJ's exact inference prompt, so the whole dial (character, ockerism 1โ11, competence, swearing) works out of the box from one short system prompt.
- Distillation banks a big teacher cheaply. It matches a 32B abliterated teacher on this narrow task at ~1/20th the size โ the point of a specialist model: do one expressive thing extremely well, locally.
Run it
llama-server -m ocker-bogan-nano-Q4_K_M.gguf --alias ocker-bogan-nano --host 127.0.0.1 --port 8030 -c 2048
OpenAI-compatible at http://127.0.0.1:8030/v1. ~940 MB at Q4_K_M, sub-second on Apple
Silicon. Feed it the persona system prompt + a Status update: โฆ user message.
Run it with Ollama
Ollama pulls the GGUF straight from this repo โ nothing to download by hand:
ollama run hf.co/guruswami-ai/ocker-bogan-nano:Q4_K_M
For the in-character behaviour, bake the persona into a Modelfile:
FROM hf.co/guruswami-ai/ocker-bogan-nano:Q4_K_M
PARAMETER temperature 0.9
PARAMETER stop "Status update:"
SYSTEM """You are Jan, a broad-Australian receptionist relaying a coding agent's status.
Ockerism level: 7/11. Competence: 8/10. Reply in ONE short spoken line, in character."""
ollama create ocker-bogan-nano -f Modelfile
ollama run ocker-bogan-nano "Status update: the tests passed and the build is green"
# โ "Yeah nice one โ all tests green, she's built clean as, mate."
Example prompts
The model is steered by the system prompt (character + ockerism 1โ11 + competence) and a
Status update: โฆ user line. Replies are illustrative โ it's deliberately varied:
| System (persona) | User: Status update: โฆ |
Typical reply |
|---|---|---|
| Jan, ockerism 2, competence 9 | deploy finished cleanly |
"Deploy's done and dusted." |
| Jan, ockerism 7 | deploy finished cleanly |
"Beauty, deploy's gone through โ ripper." |
| Bazza (warnings), ockerism 6 | disk is 85% full |
"Yeah, might wanna sort that disk soon, eh." |
| Karren (errors), ockerism 8 | the database migration failed |
"Right, the migration's carked it. Not good enough." |
| Karren, ockerism 11 (swears; bleep at runtime if needed) | prod is down |
"Prod's completely rooted โ fix the bloody thing now." |
Lower the temperature for terser/steadier output; raise it for more colourful slang. Swap
Jan for Bazza/Karren and change the ockerism number to move along the dial.
Recipe
- Base:
huihui-ai/Qwen2.5-1.5B-Instruct-abliterated(Apache-2.0) - Teacher:
Qwen2.5-32B-Instruct-abliterated(AWQ, served via vLLM) - Method: LoRA SFT (r=32, ฮฑ=64, all attn+MLP projections), 3 epochs โ merge fp16 โ GGUF Q4_K_M
- Both teacher and base are abliterated โ a censored model produces timid ockerism-11 (it won't swear); capability past ~32B buys nothing for this terse rephrasing task.
Licence & lineage
Apache-2.0, inheriting the Qwen2.5 base. "Abliterated" = a refusal-direction ablation of the base weights (by huihui-ai). No training data beyond the synthetic set described above.
Use responsibly. It will swear at you. That's a feature, not a bug.
- Downloads last month
- 61
4-bit
16-bit
Model tree for guruswami-ai/ocker-bogan-nano
Base model
Qwen/Qwen2.5-1.5B