Spaces:
Running
Running
Commit History
-
Add Build Small recommended preset
de78f87 -
Add Tiny Aya text generation option
f9dd2fe
-
Settings: recommended quality presets + device readout; persist all choices
New "Recommended settings" section at the top of Settings (above Local AI Model): - High / Medium / Low presets that set the LLM model AND voice provider together, like a game's graphics presets: High = Qwen3 0.6B + Kokoro 82M Medium = Qwen2.5 0.5B + Kitten TTS Low = Qwen2.5 0.5B + Web Speech Presets resolve the model within the active engine's catalog (family fallback). Changing the model or voice by hand drops to Custom. - Expandable "Your device" readout (CPU threads, RAM, WebGPU/GPU, storage, screen, UA) for debugging and benchmarking. Persistence: the LLM engine + per-engine model (runtime.js), the voice provider (tts.js), and the preset choice (qualityPreset.js) are all saved to localStorage, so settings survive a refresh. runtime.js now validates a stored model against the active engine and emits onModelChange; the model/voice bars re-sync when a preset changes them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>750ca83 -
Settings: model section to top; default WebLLM + Qwen3 0.6B; copyable debug
- Inject the "Local AI Model" section at the TOP of Gradio's settings page. - Default engine = WebLLM (best on mobile WebGPU; falls back to wllama with no WebGPU) and default model = Qwen3 0.6B. - Persona + diary panels gain a "📋 Copy debug" button that copies a paste-ready report (engine · backend · model · input · outcome · raw output · stripped text, plus exception/stack), so failures like the empty-JSON persona can be sent back verbatim. Clipboard-blocked contexts fall back to selecting the text. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>898540a -
Fix model re-downloads (persistent storage) + WebLLM shader-f16 crash
Two issues with the multi-engine setup: - Models re-downloaded across engine switches because cached data was best-effort and evicted under quota pressure (three engines park 0.5-2GB each on one origin). Add storage.js → navigator.storage.persist() before the first download, flipping the cache to durable. Surface cache usage (usage/quota) in the model bar so the footprint is visible. (Note: the three engines use different formats/repos/caches — GGUF vs ONNX vs MLC — so a download genuinely can't be shared across them; only repeat use of the SAME engine is now cached reliably.) - WebLLM threw "Invalid ShaderModule … index_kernel" on GPUs/drivers without the WebGPU shader-f16 feature, because every MLC model was a q4f16_1 build. Detect shader-f16 via adapter.features and fall back to q4f32_1 when absent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>fa27f81 -
Multi-engine benchmark: wllama vs Transformers.js vs WebLLM (engine selector)
Add a runtime facade (runtime.js) over three in-browser LLM engines so the same model can be A/B'd and tok/s compared: - engineWllama.js — llama.cpp WASM + WebGPU (GGUF from HF; 🦙 + local-first) - engineTransformers.js — HF Transformers.js (ONNX, WebGPU/WASM) - engineWebllm.js — MLC WebLLM (WebGPU only; greyed out without GPU) - genStats.js — shared tok/s tracker (decode rate, TTFT) for fair benchmarking modelBar.js gains an Engine selector (unavailable engines disabled); persona + diary panels now import from runtime.js. Removes the old wllamaLlm.js (folded into engineWllama.js). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>f8d0843