Instructions to use aab20abdullah/learnpath-gemma4-e4b-gguf 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 aab20abdullah/learnpath-gemma4-e4b-gguf 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 aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M # Run inference directly in the terminal: llama cli -hf aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M # Run inference directly in the terminal: llama cli -hf aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
Use Docker
docker model run hf.co/aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "aab20abdullah/learnpath-gemma4-e4b-gguf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aab20abdullah/learnpath-gemma4-e4b-gguf", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
- Ollama
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with Ollama:
ollama run hf.co/aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
- Unsloth Desktop
- Pi
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aab20abdullah/learnpath-gemma4-e4b-gguf: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": "aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with Docker Model Runner:
docker model run hf.co/aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
- Lemonade
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
Run and chat with the model
lemonade run user.learnpath-gemma4-e4b-gguf-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aab20abdullah/learnpath-gemma4-e4b-gguf: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 aab20abdullah/learnpath-gemma4-e4b-gguf:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use aab20abdullah/learnpath-gemma4-e4b-gguf with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aab20abdullah/learnpath-gemma4-e4b-gguf: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 "aab20abdullah/learnpath-gemma4-e4b-gguf: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"
LearnPath · Gemma 4 E4B (Q4_K_M GGUF)
Gemma 4 E4B-it fine-tuned for LearnPath (مسار), a study-plan generator that runs entirely on your own machine: give it a topic, hours per day and a number of days, and it builds a roadmap, a daily to-do list and free resources for every task.
نموذج مسار: يحوّل الموضوع والوقت المتاح إلى خطة تعلّم يومية بمصادر مجانية، ويعمل محلياً بالكامل.
Masar modeli: konuyu ve ayırabildiğin zamanı ücretsiz kaynaklarla günlük bir öğrenme planına dönüştürür; tamamen yerel çalışır.
The model does the three language steps of that pipeline and answers with JSON only, in English, Arabic or
Turkish (the learner's language is passed as en, ar or tr).
Scheduling, web search and link checks are ordinary code in the app.
| Task | Gets | Returns |
|---|---|---|
| intake | topic, level, hours per day, days, goal | topic, level, total_hours, realistic, warnings (in the learner's language) |
| curriculum | topic, level, learning-hour budget | skills: ordered id, name, hours, depends_on, search_query |
| rank | a skill and numbered search results | indexes of the best results (never writes links itself) |
Run with Ollama
hf download aab20abdullah/learnpath-gemma4-e4b-gguf --local-dir models/
ollama create learnpath -f models/Modelfile
ollama run learnpath
Modelfile holds the Gemma 4 chat template (thinking off, temperature 0.3, 8k context). The Q4_K_M file is
5.0 GB and runs on CPU or GPU. For dependable JSON, pass the answer's
JSON schema as Ollama's format, as the app does.
Prompt format
The model was trained on these exact prompts; other wording works less reliably. The system prompt is fixed per task and the user message is filled in:
intake
[system]
You are a learning planner. Assess whether the learner's time budget is realistic for the topic and level. Reply with JSON only.
[user]
Topic: Python programming
Level: beginner
Hours per day: 2
Days: 30
Goal: general mastery
total_hours must equal 60. Add warnings (in the learner's language: en) if the budget is too small or too large.
curriculum
[system]
You are a curriculum designer. Break the topic into ordered skills. Each skill has a short snake_case id, a name, estimated hours, depends_on (ids of earlier skills only) and a search_query for finding free tutorials. Never output URLs. Reply with JSON only, exactly in this shape: {"skills": [{"id": str, "name": str, "hours": number, "depends_on": [str], "search_query": str}]}
[user]
Topic: Python programming
Level: beginner
Total learning hours available: 48.0. Skill hours must sum to about this.
Skill names in language: en. search_query in English.
rank
[system]
Pick the best free learning resources for a skill from the numbered candidates. Only choose indexes from the list; never invent links. Reply with JSON only.
[user]
Skill: Python loops
Pick up to 2:
0. [video/youtube] Python loops - full tutorial for beginners
1. [article/brave] Best pizza recipes 2026
2. [docs/brave] The for statement - Python documentation
Evaluation
195 held-out examples: 75 topics never seen in training (25 each in English, Arabic and Turkish) for intake and curriculum, plus 45 rank lists that hide 2 good resources among 4 distractors. Greedy decoding, no schema constraint, the same automatic checks for both models. An example passes only if every check holds: valid JSON and schema, total hours, language of names and warnings, dependency order, no URLs, skill count, and picking only good resources. Measured on the 4-bit LoRA model before the GGUF export.
| Task | Examples | JSON valid: base → tuned | Pass: base → tuned |
|---|---|---|---|
| intake | 75 | 100% → 100% | 0% → 100% |
| curriculum | 75 | 100% → 100% | 87% → 95% |
| rank | 45 | 100% → 100% | 0% → 100% |
| all | 195 | 33% → 98.0% |
The base model's 0% on intake and rank comes mostly from wrong JSON key names. Passing the schema as Ollama's
format fixes the keys, so in the app the gain is mainly in the content checks.
Training
- QLoRA (4-bit base) with Unsloth on one Kaggle T4: LoRA r=16, alpha=32, language layers only, loss on the answers only.
- Data: 5,701 synthetic examples (curriculum 2,700, rank 1,800, intake 1,201; English 1,911, Turkish 1,901, Arabic 1,889) written by Gemma 4 26B-A4B running locally with llama.cpp, kept only when they pass the same automatic checks. The eval topics are left out.
- 708 steps in 169 min, final train loss 0.198.
Limitations
- Made for these three prompts; it is not a general chat model.
- Skill hours can drift from the budget; the app rescales them to fit.
- It can only rank the search results it is given.
- Downloads last month
- 137
4-bit