Spaces:
Runtime error
Runtime error
metadata
title: Mythical Universal AI API
emoji: π§
colorFrom: indigo
colorTo: purple
sdk: docker
app_port: 7860
pinned: true
Mythical Universal System β v7.1
Free forever. Text + Images + Audio + Video + PDFs + Web Search + File Generation.
Setup
- New HF Space β Docker β CPU Basic (Free)
- Secrets:
HF_TOKEN+API_KEY - Upload 6 files β wait 15min β done forever
Quick Test
curl https://YOUR-SPACE.hf.space/ready
curl https://YOUR-SPACE.hf.space/v1/chat/completions \
-H "Authorization: Bearer KEY" \
-H "Content-Type: application/json" \
-d '{"model":"mythical","messages":[{"role":"user","content":"Hello!"}]}'
v7.1 Fixes (production issues from live logs)
| # | Bug | Root Cause | Fix |
|---|---|---|---|
| A | Watchdog constant flush loop | Dockerfile ENV RAM_WARN_GB=11 RAM_REJECT_GB=13 RAM_FLUSH_GB=14 hardcoded tiny values β on a 124 GB shared HF host, system RAM showed 80 GB > 14 GB β infinite flush |
ENV defaults set to 0; watchdog now reads container limit from cgroup v1/v2; ignores env vars < 30% of total (stale config guard) |
| B | max_tokens always halved | Factor used hardcoded GB thresholds >12.0 β 0.5, always true in flush state |
Factor now uses wd.level (ok/warn/reject/flush) |
| C | Thinking mode 504 timeout | REQUEST_TIMEOUT=90s applied to thinking requests that need 2β5 min |
New THINKING_TIMEOUT=300s env var; applied dynamically per-request |
| D | llama-server cuts thinking at 90s | --timeout 90 in build_cmd() kills the HTTP connection |
Changed to --timeout 600 |
| E | Watchdog spams logs every 2s | post-flush logged every watchdog tick while in flush state |
30s cooldown between flush attempts; only logs on state change or actual freed memory |
| F | Health shows wrong RAM% | psutil.virtual_memory().percent = host machine %, not container % |
Health/metrics use container cgroup values when available |
| G | Model upgrade starts at minute 10 | last_check=0 in fresh config β always triggers immediately |
last_check=time.time() on fresh config; initial sleep 10min β 2h |
| H | Whisper tries "base" twice | Loop for WSIZE in "$WHISPER_SIZE" "base" "tiny" β if SIZE=base, tries baseΓ2 |
Deduplicated fallback list with declare -A |
| I | Whisper hangs on blocked network | No curl timeout on whisper download | Added --connect-timeout 15 --max-time 120 |
v7.0 Fixes (still active)
- Semaphore never double-releases (StreamGuard)
- /ready probe β no cold-start 502s
- System prompt 100% match (KV cache always hits)
- File uploads chunked (never blocks event loop)
- Encrypted PDFs handled gracefully
- Job queue thread-safe (asyncio.Lock)
- Web search returns clear message when empty
- Whisper auto-retries with smaller model on failure