YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
NovaMind AI
Your locally-trainable AI assistant β a complete full-stack AI app built from scratch:
- π§ NovaMind Custom Model β a from-scratch decoder-only Transformer (byte-level BPE tokenizer, GQA attention, RoPE) trained in-repo, served live from a FastAPI engine
- π¬ Multi-provider chat β NovaMind Cloud, the locally-trained custom model, Ollama (local or Ollama Cloud), and any OpenAI-compatible API
- π Training dashboard β train, resume, and watch the model learn (loss curves, live samples, checkpoint retention) directly from the UI, on your CPU
- π Documents β upload TXT/MD/JSON/CSV/PDF and chat with citations to the exact excerpts
- π Insights β usage analytics
- π Public gallery β share conversations via public links
Run it (Docker)
docker build -t novamind .
docker run -p 7860:7860 novamind
# open http://localhost:7860
The image builds the Next.js app (standalone) and boots the Python AI engine + app together.
Run it (without Docker)
npm install && npx prisma generate && npx prisma db push && npm run build
pip install torch --index-url https://download.pytorch.org/whl/cpu fastapi "uvicorn[standard]" pydantic numpy
python -m uvicorn engine.server:app --host 127.0.0.1 --port 3031 &
DATABASE_URL=file:$PWD/db/custom.db ENGINE_URL=http://127.0.0.1:3031 \
node .next/standalone/server.js
The included model
data/checkpoints/best.pt is a ~1.1M-parameter Transformer (128d Β· 4 layers Β· GQA) trained on the sample corpus with a matching byte-level BPE tokenizer (data/tokenizer/) β it generates simple text and demonstrates the full train β save β serve loop. Use the Training tab to train it further or swap in your own corpus (data/raw/).
Stack
Next.js 16 (App Router, TypeScript, Tailwind 4, shadcn/ui) Β· Prisma + SQLite Β· FastAPI + PyTorch (CPU) Β· z-ai-web-dev-sdk Β· from-scratch BPE tokenizer and Transformer.
Deploy to Hugging Face Spaces
This repo is Space-ready: Dockerfile + README metadata β duplicate this repo into a new Docker Space (requires HF PRO for dynamic Spaces), or run it on any Docker host.