Views
No views yet
openbmb/MiniCPM5-1B-SFT merged into
the base and quantized for llama.cpp. Pip is a warm 3D talking-avatar teacher for kids
5–10; this 1B brain answers spoken "raise-hand" questions during a lesson and always
replies with one {text, mood, gesture} JSON object that drives the in-browser avatar's
face and body. Built for the Build Small Hackathon (Backyard AI).| File | Size | Use |
|---|---|---|
professor-pip-minicpm5-1b-Q4_K_M.gguf | ~688 MB | recommended — fast, small |
professor-pip-minicpm5-1b-Q8_0.gguf | ~1.15 GB | higher quality |
professor-pip-minicpm5-1b-f16.gguf | ~2.06 GB | full precision (re-quantize from this) |
<think></think> (no-think)
prefill — build the prompt yourself and stop on <|im_end|>:1from llama_cpp import Llama
2llm = Llama(model_path="professor-pip-minicpm5-1b-Q4_K_M.gguf", n_ctx=8192, verbose=False)
3
4SYSTEM = "You are Professor Pip, a warm and playful teacher ... reply with ONE JSON object {text, mood, gesture}."
5def chatml(system, user):
6 # NOTE: no leading <s> — llama.cpp adds BOS from the GGUF metadata
7 return (f"<|im_start|>system\n{system}<|im_end|>\n"
8 f"<|im_start|>user\n{user}<|im_end|>\n"
9 f"<|im_start|>assistant\n<think>\n\n</think>\n\n")
10
11out = llm.create_completion(chatml(SYSTEM, "Why is the sky blue?"),
12 max_tokens=160, temperature=0.7, top_p=0.95,
13 stop=["<|im_end|>", "</s>"])
14print(out["choices"][0]["text"]) # -> {"text": "...", "mood": "happy", "gesture": "index"}llama-cli -m professor-pip-minicpm5-1b-Q4_K_M.gguf.mood ∈ neutral, happy, angry, sad, fear, disgust, love; gesture ∈ handup, index, ok, thumbup, thumbdown, side, shrug, namaste or null.{text,mood,gesture} contract — it is not
for long-form course authoring (the app uses a deterministic template for that), open chat,
or factual reference (expect minor 1B-scale factual fuzz). English only. Child-safety is
enforced server-side in the app, not by the model alone.