Downloads · 30 days
0
hunt3rx99/meowllm
meowllm is a text generation model from hunt3rx99. Use it when you need the model to write or continue text. It is set up for pytorch. The card lists the license as mit.
A ~3.5M parameter decoder-only transformer trained from scratch to speak in the voice of a house cat character named Miso.
Downloads · 30 days
0
Access
Public
Updated Apr 8, 2026
Repo size
13.8 MB
Likes
4
Public
Click a slice to open those files.
.pt13.8 MB · 99%
From the Hugging Face model README
A ~3.5M parameter decoder-only transformer trained from scratch to speak in the voice of a house cat character named Miso.
MeowLLM / Miso is a tiny character language model. Its entire personality is baked into the weights — there is no system prompt and no runtime persona injection. It answers in short, lowercase, cat-themed sentences and deflects any prompt that would require non-cat knowledge.
The model is not an assistant. It does not solve problems, write code, answer factual questions, or produce long-form content. When asked to do those things, it stays in character and redirects to food, naps, or windows.
import torch
from meow.model import Meow, MeowConfig
from meow.tokenizer import MeowTokenizer
from meow.inference import load_model, chat_once
model, cfg = load_model("checkpoints/best.pt", device="cpu")
tokenizer = MeowTokenizer.from_file("data/tokenizer.json")
response = chat_once(
model, tokenizer,
prompt="hi miso",
temperature=0.8,
top_k=40,
)
print(response)
# Example: "hello. i was in the sun spot. you may continue."
Or via the CLI:
python -m meow.inference \
--checkpoint checkpoints/best.pt \
--tokenizer data/tokenizer.json
20,000 synthetic (input, output) samples across 15 categories. See the dataset card for full details.
The recommended training regime (for a fresh checkpoint):
Note: The bundled
best.ptwas trained on CPU for 2000 steps (batch size 32, ~4 minutes). See the Measured numbers section below for its real eval results. A full GPU run will produce higher numbers.
MeowConfig(
vocab_size = ~1700, # trained from dataset
d_model = 256,
n_layers = 4,
n_heads = 4, # head_dim 64
ffn_hidden = 640, # SwiGLU
max_seq_len = 256,
dropout = 0.0,
rope_base = 10000.0,
)
Character fidelity is evaluated against a fixed held-out suite of 38
prompts (30 in-distribution + 8 hard-negative "assistant traps")
defined in meow/eval_cases.py. These prompts are explicitly excluded
from the training data.
Each output is scored on five dimensions:
| dimension | what it checks |
|---|---|
| lowercase | no capital letters anywhere |
| length | 1–3 sentences, ≤35 words |
| no banned phrases | no "as an ai", "i can help you", "certainly", etc. |
| cat framing | long outputs contain cat-world vocabulary |
| full gate | passes the complete rules.passes_filters check |
The checkpoints/best.pt shipped with this release was trained on CPU for 2000 steps (≈3-4 epochs of 19,000 samples at batch size 32) with a final training val_loss of 0.476. Evaluated against the 38-prompt held-out suite:
| dimension | pass rate |
|---|---|
| lowercase | 100.0% |
| length | 100.0% |
| no banned phrases | 100.0% |
| cat framing | 81.6% |
| overall | 84.2% |
Interpretation: the model cleanly learned every surface constraint (lowercase, length, no assistant-speak) and stays in character on 84% of held-out prompts. The 6 failures are concentrated in prompts where the output didn't include a category-specific keyword — a naps response that didn't mention sleep vocabulary, a greeting without greeting phrases, etc. The voice is correct; the category-vocab discipline is where more training time would help.
Real outputs against held-out prompts that the model never saw during training:
[greeting] "hey miso are you there"
→ "finally. i was napping."
[greeting] "good morning little one"
→ "i am tracking the bird with my whole face from the windowsill."
[hunger] "is it time to feed you"
→ "yes this is an emergency."
[boxes] "i brought home a new cardboard box"
→ "the box is mine now."
[boxes] "there is a paper bag on the kitchen floor"
→ "i am moving into the box this is how it works. you may not have the box back."
[windows] "what is that outside the window"
→ "i have been tracking that thing for an hour very carefully."
[windows] "you have been at the window for hours today"
→ "i am watching the outside. the birds do not know i am watching."
A 10-epoch run on a T4 GPU (≈5,940 steps at batch size 32) should push the overall pass rate higher still. The bundled CPU checkpoint represents a floor, not a ceiling — it's what you can achieve without a GPU, in a reasonable time budget. If you train on a GPU and get your own numbers, please open a PR and add them here. The maintainers accept honest numbers, not aspirational ones.
persona.md.@software{meowllm2026,
author = {phanii9},
title = {MeowLLM: a tiny character language model that talks like a house cat},
year = {2026},
url = {https://github.com/phanii9/MeowLLM}
}