Instructions to use aibluks/stepuli-gemma-4-e2b-v8-experimental 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 aibluks/stepuli-gemma-4-e2b-v8-experimental 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 aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M # Run inference directly in the terminal: llama cli -hf aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M # Run inference directly in the terminal: llama cli -hf aibluks/stepuli-gemma-4-e2b-v8-experimental: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 aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf aibluks/stepuli-gemma-4-e2b-v8-experimental: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 aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
Use Docker
docker model run hf.co/aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "aibluks/stepuli-gemma-4-e2b-v8-experimental" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aibluks/stepuli-gemma-4-e2b-v8-experimental", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
- Ollama
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with Ollama:
ollama run hf.co/aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
- Unsloth Desktop
- Pi
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aibluks/stepuli-gemma-4-e2b-v8-experimental: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": "aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with Docker Model Runner:
docker model run hf.co/aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
- Lemonade
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
Run and chat with the model
lemonade run user.stepuli-gemma-4-e2b-v8-experimental-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aibluks/stepuli-gemma-4-e2b-v8-experimental: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 aibluks/stepuli-gemma-4-e2b-v8-experimental:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use aibluks/stepuli-gemma-4-e2b-v8-experimental with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aibluks/stepuli-gemma-4-e2b-v8-experimental: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 "aibluks/stepuli-gemma-4-e2b-v8-experimental: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"
Stepuli — Gemma 4 E2B experimental maths tutor
Published by AI Bluks. Stepuli is an English maths tutoring experiment with downloadable local model weights. It is not a validated tutor for children, a finished grade 7 curriculum, or a demonstrated improvement over the untouched base. It makes serious arithmetic errors, falsely praises incorrect learner steps, and sometimes stops before completing a requested worked solution.
Standalone model download — 3.11 GB · GitHub model release · GitHub source
The planned Instagram handle is @stepulilearn; it has not been claimed by this project.
Files
| File | Purpose |
|---|---|
stepuli-v8-experimental-Q4_K_M.gguf |
Standalone model: 3,106,738,304 bytes. Requires no separate base or adapter. |
tutor-v8-response-pilot-lora.gguf |
Optional adapter: 6,556,960 bytes. Requires the unchanged matching original base. |
system_prompt.txt |
Tutor prompt used in the reported experiments. |
VALIDATION.json |
Full compact-model fresh20 and smoke outputs, frozen smoke prompts, and scoped evaluation summaries. |
DOWNLOADS.md |
Download choices and portable local API instructions. |
PUBLIC_MANIFEST.json, SHA256SUMS |
Exact artifact identities and integrity. |
LICENSE, NOTICE |
Apache 2.0 license and modification provenance. |
The complete public Hugging Face and GitHub model downloads were checked against the original model’s size and SHA-256 on 2026-10-14. Checksums are supplied in SHA256SUMS and PUBLIC_MANIFEST.json. The full model and small adapter are different ways to load the experiment; do not apply the adapter on top of the standalone model.
Training and conversion
Fresh unsloth/gemma-4-E2B-it, revision d36bdd3855c82a6a1a23f7c459b749f5724ae75d, with attention-only LoRA rank 8/alpha 16, learning rate 0.000005, BF16, effective batch 32, maximum training length 1024. Training stopped after 20 of 118 scheduled optimizer steps: 640 presentations from 3,760 shuffled synthetic training rows, with 940 validation rows. Only the final assistant reply was supervised; earlier turns were context. Targets were not reviewed by a schoolteacher. Native nonthinking formatting was used for training and matched Colab evaluation.
The adapter GGUF was converted with official llama.cpp commit 1b70350c92563449576bcbbf552994b1d1ed847d. To create the standalone file, llama.cpp b11429 (d81235049) merged the adapter once into the untouched Q4_K_M base:140 adapted tensors were dequantized to F32, the scaled adapter was added, and those tensors were saved as F16. The compact model then quantized those 140 tensors under Q4_K_M policy, retaining all 461 unadapted tensors byte-for-byte through explicit original-type overrides. Already-quantized unadapted tensors were not requantized.
This is a derivative of an already quantized base, not a merge into original BF16 weights. The final compact model has 136 tensors with bytes differing from the original base; four adapted tensors quantized back to their original bytes. Changed bytes do not prove retained training capability.
Actual results
Matched Colab BF16, greedy nonthinking, maximum 512 output tokens:
| Test | Untouched base | V8 pilot |
|---|---|---|
| Old numeric development retention | 117/127 | 118/127 |
| Fresh numeric questions | 15/20 | 15/20 |
| Teaching pass / partial / fail | 17 /4 /15 | 21 /4 /11 |
| Correct-step progression | 8/12 | 9/12 |
| Wrong-step tutoring passes | 1/12 | 1/12 |
| Correct, complete worked responses | 8/12 | 11/12 |
Teaching grades are one Codex manual review of all 36 full responses and frozen contexts, not teacher or child assessment. Worked completion improved in three cases and median-step progression in one; wrong-step feedback remained poor. A fraction response hit the 512-token output limit. The old 127 suite overlaps development or validation material and is not blind mastery evidence.
The standalone Q4 download scored 14/20 locally in greedy nonthinking mode with512 output tokens. Every numeric reply matched the earlier untouched Q4 nonthinking test, also 14/20. The separate untouched Q4 base thinking reference scored 20/20 with a 1536-token output budget. Precision, mode, and output-budget differences prevent isolated causal claims. The downloadable compact file did not reproduce the BF16 pilot’s 15/20 result and has no demonstrated numeric improvement over its matched local nonthinking reference.
Seven frozen local smoke cases were tested with the separate base plus adapter, mixed merge, and compact file. Known failures in all three include:
3+5-6*4/2returned1; correct answer:-4.7/10-2/15returned11/30; correct answer:17/30.- The tutor falsely praised
22for the intermediate step8×3. - An explicit square-root worked-solution request ended by asking the learner to calculate
14×14instead of completing the solution.
735/21 correctly returned 35; a correct intermediate multiplication control advanced to division. Six of seven mixed-model smoke replies matched the separate-adapter run; five of seven compact-model replies matched. This is not proof of equivalence. Full raw compact results and prompts are in VALIDATION.json.
Run locally
Use a llama.cpp build supporting Gemma 4 for your operating system and processor. The development Mac used b11429. Linux requires a Linux executable; its functionality and performance have not been tested here.
llama-server \
--model stepuli-v8-experimental-Q4_K_M.gguf \
--host 127.0.0.1 --port 8082 \
--ctx-size 4096 --parallel 1 --threads 4 --jinja \
--alias stepuli-v8-experimental
On the tested Apple Silicon runtime, --n-gpu-layers 99 enables Metal offload. CPU-only systems can omit that flag. Connect a local app to http://127.0.0.1:8082/v1, use the supplied tutor system prompt, and explicitly select thinking or nonthinking in API requests. A GGUF is model weights, not the web app. Do not pass --lora for the standalone model.
Limits and license
Intended for adult developer evaluation and further research. These results do not establish full grade 7 coverage, other subjects, child safeguarding, reliable feedback, classroom readiness, or8 GB Linux/Raspberry Pi suitability. No latency, concurrency, thermals, or multi-monitor guarantee is made. Download size does not prove the complete app and operating system fit in8 GB RAM. Test the whole app with networking disabled before claiming offline operation. The experiment has not been promoted into the project app.
Gemma 4 is licensed under Apache 2.0. Model origin: Google Gemma 4 E2B; training checkpoint: Unsloth Gemma 4 E2B. AI Bluks is an independent publisher; Google and Unsloth endorsement is not implied.
- Downloads last month
- 116
4-bit