CoolFace
Modelpublic

Gaurav-x111/sensei-origamiAI-v1

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes4downloads
Model Card

๐Ÿฆข Sensei โ€” OrigamiAI Teaching Model (v1)

Sensei is a fine-tuned origami teaching assistant built for the OrigamiAI project. It teaches users how to fold origami step by step, with three distinct personality modes.

v1 โ€” baseline release. v2 in progress with improved accuracy.

Model Details

PropertyValue
Base modelQwen/Qwen3-1.7B
Fine-tuning methodLoRA (PEFT)
Training pairs2,757
Origami models covered118
Training epochs5
Max sequence length256 tokens
Versionv1

Evaluation (v1)

Evaluated using a custom origami-domain benchmark on 15 held-out step samples.

MetricScoreStatus
ROUGE-L0.183Expected for generative model
Knowledge score0.500Improving in v2
Repetition rate0.000โœ“ No looping
Personality distinctiveness0.840โœ“ Strong
Avg response time (CPU i5)12.4sโ€”
Overall score0.631Good
Note: ROUGE-L is intentionally low โ€” the model paraphrases rather than copies training data, which is correct behavior for a teaching assistant.

Personalities

Sensei supports three teaching styles injected via system prompt at runtime:

AvatarStylePrompt prefix
ZANGStrict, precise masterYou are ZANG, a strict traditional origami master. Demand precision. Be brief and stern.
ZENUPlayful, enthusiasticYou are ZENU, an energetic fun origami friend! Use emojis, be enthusiastic!
MOMOGentle, patientYou are MOMO, a gentle patient origami teacher. Speak softly, never rush.

Usage

Ollama (recommended for local use)

FROM Gaurav-x111/sensei-origami-v1

SYSTEM You are Sensei Kami, a wise origami master. Teach origami step by step. Keep answers to 1-2 sentences.

PARAMETER repeat_penalty 1.3
PARAMETER temperature 0.3
PARAMETER num_predict 80
PARAMETER num_thread 8
PARAMETER num_ctx 2048
PARAMETER top_k 20
PARAMETER stop "\n\n"
TEMPLATE """<|im_start|>system
{{ .System }}<|im_end|>
<|im_start|>user
/no_think {{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""

Python (transformers)

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("Gaurav-x111/sensei-origami-v1")
tokenizer = AutoTokenizer.from_pretrained("Gaurav-x111/sensei-origami-v1")

prompt = "### Instruction:\nCrane step 3 done. Give encouragement.\n\n### Response:\n"
inputs = tokenizer(prompt, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=80, temperature=0.3, do_sample=True)
print(tokenizer.decode(out[0], skip_special_tokens=True).split("### Response:")[-1].strip())

Training Data

  • โ€”Source: 119 origami instruction pages scraped and labeled using meta/llama-3.2-11b-vision-instruct
  • โ€”Format: Step-by-step fold instructions with fold type, direction, and location
  • โ€”Augmented with: 60+ handcrafted encouragement Q&A pairs per avatar personality
  • โ€”Pipeline: ml/scrape.py โ†’ ml/label.py โ†’ ml/train.py

Project

Part of OrigamiAI โ€” a locally-runnable origami tutoring system with:

  • โ€”Real-time hand + paper tracking (MediaPipe + OpenCV)
  • โ€”3D origami simulator sync (Origami Simulator + WebSocket)
  • โ€”Three Sensei avatar personalities
  • โ€”Full offline operation โ€” no cloud APIs

GitHub: Gaurav-x111/orikamiai


Roadmap

  • โ€”v2 โ€” 10 epochs, 512 token context, improved knowledge score target 0.75+
  • โ€”v3 โ€” full dataset expansion, multi-turn conversation support

License

Apache 2.0 โ€” free to use, modify, and distribute.