Text Generation
Safetensors
GGUF
Czech
English
qwen2
czech
stem
physics
chemistry
biology
mathematics
lora
self-distillation
conversational
Instructions to use KucLab/kuclab-hertz-0.3 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.3 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.3:Q4_K_M # Run inference directly in the terminal: llama cli -hf KucLab/kuclab-hertz-0.3: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.3:Q4_K_M # Run inference directly in the terminal: llama cli -hf KucLab/kuclab-hertz-0.3: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.3:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf KucLab/kuclab-hertz-0.3: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.3:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf KucLab/kuclab-hertz-0.3:Q4_K_M
Use Docker
docker model run hf.co/KucLab/kuclab-hertz-0.3:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use KucLab/kuclab-hertz-0.3 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.3" # 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.3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/KucLab/kuclab-hertz-0.3:Q4_K_M
- Ollama
How to use KucLab/kuclab-hertz-0.3 with Ollama:
ollama run hf.co/KucLab/kuclab-hertz-0.3:Q4_K_M
- Unsloth Desktop
- Pi
How to use KucLab/kuclab-hertz-0.3 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.3: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.3:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use KucLab/kuclab-hertz-0.3 with Docker Model Runner:
docker model run hf.co/KucLab/kuclab-hertz-0.3:Q4_K_M
- Lemonade
How to use KucLab/kuclab-hertz-0.3 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull KucLab/kuclab-hertz-0.3:Q4_K_M
Run and chat with the model
lemonade run user.kuclab-hertz-0.3-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use KucLab/kuclab-hertz-0.3 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.3: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.3:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use KucLab/kuclab-hertz-0.3 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.3: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.3: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"
| license: apache-2.0 | |
| base_model: Qwen/Qwen2.5-14B-Instruct | |
| language: | |
| - cs | |
| - en | |
| tags: | |
| - qwen2 | |
| - czech | |
| - stem | |
| - physics | |
| - chemistry | |
| - biology | |
| - mathematics | |
| - lora | |
| - self-distillation | |
| pipeline_tag: text-generation | |
| # KucLab Hertz 0.3 | |
| A Czech/English STEM assistant built by [KucLab](https://kuclab.org) on top of **Qwen2.5-14B-Instruct**, fine-tuned to be sharper on physics, chemistry, biology and mathematics in Czech — while carrying forward the base model's general capability, 128k-token context reach, and native tool-calling support. | |
| ## What this is | |
| Hertz 0.3 is a **LoRA fine-tune** (r=8, merged into the base weights) trained on a self-distilled corpus of Czech/English STEM concepts, worked problems, and formatting examples. Training data was generated by prompting **Qwen3.8-27B** (Alibaba/Tongyi, Apache 2.0) — a stronger reasoning model used purely as a data-generation teacher, never trained itself — and used to fine-tune the actual 14B model that ships here. | |
| - **Base:** Qwen/Qwen2.5-14B-Instruct (14.7B params, Apache 2.0) | |
| - **Method:** QLoRA, r=8 / alpha=16, merged to fp16 then quantized | |
| - **Context:** extended to 128k via YaRN rope scaling (native 32k → 131072, factor 4.0) | |
| - **Training data:** 242 self-distilled rows — Czech/English STEM concepts & terminology, worked problems with step-by-step reasoning, Markdown/code formatting examples, identity | |
| - **Format available:** GGUF (q4_k_m, ~9GB) for `llama.cpp`/Ollama, plus the raw LoRA adapter for anyone who wants to merge it onto their own copy of the base model | |
| ## Why a fine-tune instead of a bigger model | |
| Qwen2.5-14B fits comfortably on a single consumer/cloud GPU (23GB) for both inference and QLoRA training. Rather than chase parameter count, this project focuses the model's existing capacity on a specific gap: strong, natural Czech STEM terminology and step-by-step worked solutions, which the base model handles less fluently out of the box. | |
| ## Quickstart (Ollama) | |
| **Important:** `ollama pull hf.co/...` alone does NOT apply this model's system prompt (identity + personality) — Ollama only fetches the raw GGUF from Hugging Face, it does not read a repo's `Modelfile`. Without the system prompt, the model falls back to identifying as a generic Gemma model. Use `ollama create` with the Modelfile below instead — it pulls the weights AND applies the system prompt in one step: | |
| ```bash | |
| curl -O https://huggingface.co/KucLab/kuclab-hertz-0.3/resolve/main/Modelfile | |
| ollama create kuclab-hertz-0.3 -f Modelfile | |
| ollama run kuclab-hertz-0.3 | |
| ``` | |
| (The Modelfile's `FROM` line points at `hf.co/KucLab/kuclab-hertz-0.3:Q4_K_M`, so this pulls the same GGUF automatically — no separate download needed.) | |
| Or build from the Modelfile in this repo with the bundled GGUF. | |
| ## Example | |
| > **Q:** Kolik je 17 × 23? Ukaž postup. | |
| > | |
| > **A:** 17 × 23 = 17 × (20 + 3) = 340 + 51 = **391** | |
| > **Q:** Vysvětli druhý Newtonův zákon. | |
| > | |
| > **A:** *(explains F = dp/dt, in fluent Czech, with the formula and its meaning)* | |
| ## Benchmarks | |
| Measured against the same base model (`qwen2.5:14b-instruct`, Q4_K_M via Ollama), same prompts, same grading code, both models cold. | |
| **MMLU-Pro STEM** (240 held-out questions, this project's own curated subset — not a claim of parity with the standard published MMLU-Pro leaderboard number) | |
| | | base | Hertz 0.3 | Δ | | |
| |---|---|---|---| | |
| | Biology | 78.3% | 75.0% | −3.3pp | | |
| | Chemistry | 71.7% | 71.7% | 0pp | | |
| | Math | 88.3% | 86.7% | −1.6pp | | |
| | Physics | 71.7% | 80.0% | **+8.3pp** | | |
| | **Total** | **77.5%** | **78.3%** | **+0.8pp** | | |
| **Czech scientific terminology** (206 held-out terms, both translation directions, this project's own curated set) | |
| | | base | Hertz 0.3 | Δ | | |
| |---|---|---|---| | |
| | CS → EN | 79.6% | 79.6% | 0pp | | |
| | EN → CS | 47.6% | 51.5% | **+3.9pp** | | |
| | **Total** | **63.6%** | **65.5%** | **+1.9pp** | | |
| Read this as: no regression on general STEM reasoning, a real (if modest) gain on Czech terminology — which is exactly what the fine-tune targeted. Physics moved the most; biology and math moved slightly the other way. These are two custom benchmarks built for this project, not standardized public leaderboards — useful for before/after comparison on this exact model, not for cross-model bragging rights. | |
| ## Honest status | |
| This is a small-scale, single-GPU fine-tuning project, not a frontier lab release. What's verified: | |
| - ✅ Coherent, correct Czech and English output (spot-checked: arithmetic, physics, chemistry, terminology) | |
| - ✅ Correctly identifies as a KucLab model, not as "Qwen" (LoRA + system prompt) | |
| - ✅ 128k context window configured and loadable (long-context *quality* not yet independently verified with held-out long documents) | |
| - ✅ MMLU-Pro STEM and Czech terminology benchmarked against base (see above) — no regression, modest gains | |
| What's **not** done yet: | |
| - ⏳ Tool-calling fine-tuning — the base model supports function calling natively, but this fine-tune did not add tool-use training examples | |
| - ⏳ No uncensoring/decensoring pass — safety behavior is inherited from the base model as-is | |
| - ⏳ No standardized public benchmarks (GSM8K, HumanEval, official MMLU, etc.) — only the two project-specific evals above | |
| If you're deciding whether this fits your use case: treat it as "Qwen2.5-14B-Instruct, nudged toward Czech STEM fluency and KucLab identity," not as a categorically different or more powerful model than its base. | |
| ## License | |
| Apache 2.0, inherited from Qwen2.5-14B-Instruct. This repository includes a LoRA adapter and a merged/quantized derivative of that base model; see `LICENSE` for full terms. Qwen3.8-27B (used only to generate training data, never trained or redistributed here) is separately licensed under Apache 2.0 by Alibaba/Tongyi. | |
| ## Credits | |
| - Base model: [Qwen/Qwen2.5-14B-Instruct](https://huggingface.co/Qwen/Qwen2.5-14B-Instruct) (Alibaba Cloud, Apache 2.0) | |
| - Training-data teacher: [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) (Alibaba/Tongyi, Apache 2.0) | |
| - Fine-tuning, dataset construction, and packaging: [KucLab](https://kuclab.org) | |