dreamling / README.md
andreadellacorte's picture
Add MoodNet (2nd tiny model): 40 affect-anchored moods drive speech + behavior; energy/dream loop
b828eb7
|
Raw
History Blame Contribute Delete
1.99 kB
---
title: Dreamling
emoji: 🌱
colorFrom: indigo
colorTo: pink
sdk: gradio
sdk_version: 6.17.3
python_version: '3.12'
app_file: app.py
pinned: false
short_description: Raise a from-scratch baby AI that learns to talk.
---
# 🌱 Dreamling
A whimsical creature with a brain trained **from scratch** β€” about **0.3M parameters**, no
pretrained model, learning to talk live on a **CPU**. Fully off-grid.
- It's a **newborn**: at first it can only babble **`dream? dream! dream-dream…`**
- **Talk to it** and it learns *your* words β€” babble β†’ letter-soup β†’ fragments β†’ speech.
- Tell it it's **good πŸ‘** or **bad πŸ‘Ž** and you shape its **personality**: kindness makes it
bold and bright πŸ¦‹, harshness makes it withdraw 🐚, spoiling it makes it wild πŸ‰.
- A live **personality chart** and its **evolution** reflect who it's becoming.
## How it works β€” **two tiny models from scratch**
1. **Voice** β€” a char-level Transformer (~0.3M params) seeded only on the word *dream*. While
awake it babbles with what it knows and remembers what you say; when it **dreams πŸŒ™** it
trains on the day's words (next-character learning) and wakes up able to use them.
2. **Mood** β€” a second tiny net (~few hundred params) reads the interaction (praise/scolding,
words it didn't understand, pace, tiredness) and outputs a point in an emotional space
(valence Γ— arousal Γ— dominance). ~40 named moods are anchors in that space; it *learns a
temperament* over time.
The mood steers the voice β€” tone, length, and **behavior**: confused β†’ it echoes your unknown
words back (`sun? sun?`); exhausted β†’ it yawns and begs to dream; scolded β†’ it withdraws;
spoiled β†’ it gets wild. Personality and mood decide which creature it **evolves** into
(πŸ₯šβ†’πŸ›β†’πŸ¦‹ / 🐚 / πŸ‰).
No pretrained weights, no GPU, no external APIs. Built for the **Build Small** hackathon
(Thousand Token Wood). Each visitor gets their own creature; it lives for the session.