How to use from
Pi
# Gated model: Login with a HF token with gated access permission
hf auth login
Start the llama.cpp server
# Install llama.cpp:
brew install llama.cpp
# Start a local OpenAI-compatible server:
llama serve -hf junwatu/resep-ID-chat-gemma-4-E4B-it-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": "junwatu/resep-ID-chat-gemma-4-E4B-it-gguf:Q4_K_M"
        }
      ]
    }
  }
}
Run Pi
# Start Pi in your project directory:
pi
Quick Links

You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Resep ID Chat — Gemma 4 E4B (GGUF)

GGUF quantization of junwatu/resep-ID-chat-gemma-4-E4B-it, a full fine-tune of google/gemma-4-E4B-it for Indonesian recipe generation.

This is the portable, runs-on-your-laptop version. Use it with llama.cpp, Ollama, LM Studio, or any GGUF-compatible runtime.

Quants in this repo

File Approx size Quality Recommended for
resep-ID-chat-gemma-4-E4B-it.Q4_K_M.gguf ~5–6 GB ~96% of bf16 Default. Runs on a laptop with 12 GB+ RAM.
resep-ID-chat-gemma-4-E4B-it.Q8_0.gguf ~8–9 GB ~99.5% of bf16 Near-lossless. For 16+ GB RAM, when you want maximum quality without the full bf16 download.

The Q4_K_M↔Q5_K_M gap is small relative to the embedding overhead from Gemma 4's large vocab, so Q5 was skipped — jump to Q8_0 if you want noticeably better quality.

⚠️ Critical inference setting (different from the e2b release)

Use a standard repetition penalty of 1.10, and DO NOT enable an n-gram or DRY repetition blocker.

The e2b release of this fine-tune required no_repeat_ngram_size=6 (or llama.cpp's DRY sampler with allowed_length=6) to break bumbu-list mode-collapse. On this larger e4b model the same setting causes artifacts (Unicode fractions, invented unit abbreviations, morphology variants). A 50-sample eval validated that disabling the n-gram blocker and slightly bumping the repetition penalty removes every artifact pattern.

Translation per runtime:

Runtime E2B release setting E4B (this repo) setting
HuggingFace transformers no_repeat_ngram_size=6, repetition_penalty=1.05 no_repeat_ngram_size=0, repetition_penalty=1.10
llama.cpp DRY sampler with --dry-allowed-length 6 No DRY sampler. Just --repeat-penalty 1.10
LM Studio Enable "DRY" with allowed-length 6 Disable DRY. Set Repeat Penalty = 1.10
Ollama repeat_penalty 1.05 repeat_penalty 1.10

Quick start

llama.cpp (recommended)

./llama-cli \
  -m resep-ID-chat-gemma-4-E4B-it.Q4_K_M.gguf \
  --repeat-penalty 1.10 \
  -p "Tulis resep masakan Indonesia berjudul: \"Tumis Kangkung Tempe\".
Format jawaban:
Bahan:
- (daftar bahan, satu per baris)

Langkah:
1. (langkah pertama)
2. (langkah kedua)
...
Gunakan Bahasa Indonesia."

For server mode (OpenAI-compatible API):

./llama-server \
  -m resep-ID-chat-gemma-4-E4B-it.Q4_K_M.gguf \
  --repeat-penalty 1.10 \
  -c 4096 --host 127.0.0.1 --port 8080

LM Studio

  1. Search for junwatu/resep-ID-chat-gemma-4-E4B-it-gguf in the model browser.
  2. Download Q4_K_M.
  3. In Inference Settings:
    • Set Repeat Penalty to 1.10.
    • Make sure DRY sampler is disabled (it's enabled by default if you copied settings from the e2b release).

Ollama

cat > Modelfile <<EOF
FROM ./resep-ID-chat-gemma-4-E4B-it.Q4_K_M.gguf
PARAMETER repeat_penalty 1.10
PARAMETER temperature 0.0
EOF
ollama create resep-id-e4b -f Modelfile
ollama run resep-id-e4b "Tulis resep masakan Indonesia berjudul: \"Tumis Kangkung Tempe\"..."

Recommended system prompt (domain guardrail)

To make the model politely refuse off-topic queries (math, code, news, etc.), prepend this to the user message:

Kamu adalah asisten resep masakan Indonesia. Tugasmu hanya membuat resep,
menjelaskan bahan masakan, dan memberi tips memasak. Jika pengguna bertanya
tentang topik lain, tolak dengan sopan dalam Bahasa Indonesia dan ingatkan
kalau kamu hanya bisa bantu soal masak-memasak.

---

Tulis resep masakan Indonesia berjudul: "<dish title>".
...

Effectiveness: ~70–80% of off-topic queries get politely declined. Without the guardrail, the model will hallucinate "recipes" for non-recipe titles.

What this model does

Give it an Indonesian recipe title or a list of ingredients, get back a structured Bahan: ... Langkah: ... recipe in natural Bahasa Indonesia. Trained on 183K real home-cook recipes (3× the e2b release dataset).

See the base model card for the full description, comparison to the e2b release, training summary, and known limitations.

Quality vs the bf16 original

Q4_K_M typically loses ~3-5% quality vs the full-precision model. For recipe generation that's largely imperceptible — same dish identity, same format, same step coherence. The full bf16 original lives at junwatu/resep-ID-gemma-4-E4B-it if you need maximum quality.

License

Inherits the Gemma Terms of Use from google/gemma-4-E4B-it.

Downloads last month
-
GGUF
Model size
7B params
Architecture
gemma4
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for junwatu/resep-ID-chat-gemma-4-E4B-it-gguf

Quantized
(1)
this model