Instructions to use KucLab/kuclab-hertz-0.7f with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use KucLab/kuclab-hertz-0.7f 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 KucLab/kuclab-hertz-0.7f:Q4_K_M # Run inference directly in the terminal: llama cli -hf KucLab/kuclab-hertz-0.7f:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf KucLab/kuclab-hertz-0.7f:Q4_K_M # Run inference directly in the terminal: llama cli -hf KucLab/kuclab-hertz-0.7f: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 KucLab/kuclab-hertz-0.7f:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf KucLab/kuclab-hertz-0.7f: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 KucLab/kuclab-hertz-0.7f:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf KucLab/kuclab-hertz-0.7f:Q4_K_M
Use Docker
docker model run hf.co/KucLab/kuclab-hertz-0.7f:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use KucLab/kuclab-hertz-0.7f with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "KucLab/kuclab-hertz-0.7f" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "KucLab/kuclab-hertz-0.7f", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/KucLab/kuclab-hertz-0.7f:Q4_K_M
- Ollama
How to use KucLab/kuclab-hertz-0.7f with Ollama:
ollama run hf.co/KucLab/kuclab-hertz-0.7f:Q4_K_M
- Unsloth Desktop
- Pi
How to use KucLab/kuclab-hertz-0.7f with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf KucLab/kuclab-hertz-0.7f:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "KucLab/kuclab-hertz-0.7f:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use KucLab/kuclab-hertz-0.7f with Docker Model Runner:
docker model run hf.co/KucLab/kuclab-hertz-0.7f:Q4_K_M
- Lemonade
How to use KucLab/kuclab-hertz-0.7f with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull KucLab/kuclab-hertz-0.7f:Q4_K_M
Run and chat with the model
lemonade run user.kuclab-hertz-0.7f-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use KucLab/kuclab-hertz-0.7f with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf KucLab/kuclab-hertz-0.7f: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 KucLab/kuclab-hertz-0.7f:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use KucLab/kuclab-hertz-0.7f with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf KucLab/kuclab-hertz-0.7f:Q4_K_M
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 "KucLab/kuclab-hertz-0.7f:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
KucLab Hertz 0.7F
Measured on this project's harness — same 240 MMLU-Pro STEM and 206 CZ terminology questions for every model. Scripts: scripts/bench_mmlu_pro.py, scripts/bench_czech_terms.py.
A Czech/English STEM + programming assistant built by KucLab on top of Qwen/Qwen3.5-9B. Unlike the Gemma-based Hertz 0.x line, 0.7F is distilled: its training data was generated by a 30B teacher model (reasoning strength high, answer-first), then used to fine-tune the 9B student. It beats Hertz 0.6 — our previous best — on both of this project's benchmarks.
What this is
Hertz 0.7F is a LoRA fine-tune (r=16, merged into the base weights) of Qwen3.5-9B:
- Base: Qwen/Qwen3.5-9B (~9B params, Apache 2.0)
- Method: QLoRA, r=16 / alpha=32, merged to bf16 then quantized
- Teacher: a 30B reasoning model served locally (temperature 0.2–0.7, answer-first system prompt with a canonical
Answer: (X)final line on multiple-choice items) - Training data: 4884 rows total — 4532 distilled rows (math, physics, chemistry, biology, programming, Czech language, English, plus numeric multiple-choice drills), 309 CS↔EN scientific-terminology rows with definitions (train split only — the benchmark's held-out quarter is never trained on), 28 answer-first formatting examples, 15 hand-written identity rows. Validated: 0 malformed, 0 duplicates, 0 identity leaks, 87.9% Czech.
- Context: 32768 tokens in the Ollama Modelfile (
num_ctx). - Format available: GGUF (q4_k_m, ~5.3GB) for
llama.cpp/Ollama, plus the raw LoRA adapter on request.
Quickstart (Ollama)
Important: ollama pull hf.co/... alone does NOT apply this model's system prompt (identity + personality). Use ollama create with the Modelfile below instead:
curl -O https://huggingface.co/KucLab/kuclab-hertz-0.7f/resolve/main/Modelfile
ollama create kuclab-hertz-0.7f -f Modelfile
ollama run kuclab-hertz-0.7f
(The Modelfile's FROM line points at hf.co/KucLab/kuclab-hertz-0.7f:Q4_K_M, so this pulls the same GGUF automatically.)
The honest development story
0.7F exists because Hertz 0.7 (same Gemma-4-12B base as 0.6, bigger dataset) regressed: 70.8% STEM (vs 0.6's 79.2%) and 70.9% terminology (vs 73.8%). Diagnosis, verified on the corpora: the new bulk data was only 53% Czech (vs 93% before), diluting the exact Czech lexical signal, and 901 long reasoning rows taught rambling — unparseable answers jumped from 18/240 to 50 re-asks plus 33 unparseable. Rather than a third attempt on the same base, we switched strategy: a stronger teacher generates the data, a smaller student learns it.
Two export bugs were found and fixed along the way, both disclosed so others don't repeat them: Qwen3.5's MTP head makes convert_hf_to_gguf emit a phantom blk.32 (block_count 33 instead of 32), which makes Ollama fail expecting SSM tensors that don't exist — fixed by setting block_count to the 32 real blocks and dropping the orphan MTP tensors. A hand-rolled GGUF metadata copy also taught us (twice) that GGUFWriter emits GGUF.* keys and general.architecture itself — copying them again corrupts the KV section.
Benchmarks
Same prompts, same grading code, same Ollama Q4_K_M quantization, identical methodology throughout.
MMLU-Pro STEM (240 held-out questions, this project's own curated subset)
| base (Qwen3.5-9B) | Hertz 0.6 (Gemma-12B LoRA) | Hertz 0.7F | |
|---|---|---|---|
| Biology | — | 91.7% | 83.3% |
| Chemistry | — | 61.7% | 78.3% |
| Math | — | 90.0% | 96.7% |
| Physics | — | 73.3% | 75.0% |
| Total | — | 79.2% | 83.3% |
Hertz 0.7F beats Hertz 0.6 by +4.1pp overall, with the biggest gains exactly where 0.6 was weakest (chemistry +16.6pp, math +6.7pp). Biology regressed (83.3% vs 91.7%) — the distilled corpus was light on biology (~100 rows), a known weakness to address next.
Czech terminology benchmark (206 held-out CS↔EN scientific terms)
| Hertz 0.6 | Hertz 0.7F | |
|---|---|---|
| CS→EN | 82.5% | 88.3% |
| EN→CS | 65.0% | 82.5% |
| Total | 73.8% | 85.4% |
+11.6pp overall, and +17.5pp in the hard EN→CS direction — the distilled Czech prose (not term lists) is what fixed it.
Standard benchmarks (lm-evaluation-harness, bf16 merged weights, L4 GPU)
| Benchmark | Hertz 0.7F | Notes |
|---|---|---|
| GSM8K (strict-match) | 87.8% | 1319 test questions, generative |
| GSM8K (flexible-extract) | 86.7% | |
| Thinking tokens (20-probe meter) | 358 mean | vs 679 for the Qwen3.5-9B base (−47%) |
Full mmlu_pro via lm-eval is running; results.json will be appended here.
Honest status
- ✅ MMLU-Pro STEM: 83.3%, beats Hertz 0.6 (79.2%)
- ✅ Czech terminology: 85.4%, beats Hertz 0.6 (73.8%)
- ✅ Correctly identifies as a KucLab model (KucLab Hertz 0.7F, kuclab.org), no founder named
- ✅ Direct, no-hedging personality on ordinary topics; genuinely harmful requests still refused
- ⚠️ Biology (83.3%) is below 0.6's 91.7% — thin biology coverage in the distilled corpus
- ⏳ No tool-calling fine-tuning
License
Apache 2.0, inherited from Qwen/Qwen3.5-9B.
Credits
- Base model: Qwen/Qwen3.5-9B (Qwen, Apache 2.0)
- Teacher for distillation: Meta Muse Glimmer 30B (local inference, reasoning strength high)
- Fine-tuning, dataset construction, and packaging: KucLab
- Downloads last month
- 31
4-bit
