AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
One prompt. Multiple LLMs. The best answer, automatically selected.
Translation pending
Developer toolsPython · TypeScriptGitHub @davidik-lightbloomOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
One prompt. Multiple LLMs. The best answer, automatically selected.
MultiLLM runs a multi-bot answer ensemble: several independent models answer
your question in parallel, each candidate is scored for source support,
bias, and clarity, and the best parts are merged into one balanced,
cited answer. The platform also trains its own tiny models from scratch for
fully offline inference and answer-quality scoring.Read the full README ↗One prompt. Multiple LLMs. The best answer, automatically selected.
MultiLLM runs a multi-bot answer ensemble: several independent models answer your question in parallel, each candidate is scored for source support, bias, and clarity, and the best parts are merged into one balanced, cited answer. The platform also trains its own tiny models from scratch for fully offline inference and answer-quality scoring.
ai_client.py Core ensemble engine (parallel bots, scoring, synthesis)
local_models.py Trained-model integration (offline candidate + scorer)
ensemble_demo.py Offline demo: run the ensemble with no API keys
train/
dataset.py Synthetic corpus generator (ensemble answering style)
model.py TinyGPT (generator) + TinyScorer (regressor), from scratch
train.py CLI to train both models (MPS/CPU, no downloads)
models/ Trained artifacts (reproducible via train.train)
knowledge_sources/ Local docs used for retrieval-grounded answers
vercel-deployment/ Next.js 16 SaaS (dashboard, auth, API keys, billing, analytics, training)
pip install multillm-ensemble # or: pip install -e . (editable install from this repo)
multillm "How does a multi-LLM ensemble improve answer quality?"
multillm --sources "Your question here"
multillm --top-k 5 "Compare two approaches to X"
The PyPI package is multillm-ensemble (the plain multillm name was already
taken by an unrelated project); it installs a multillm console-script
command (ensemble_demo:main, wired up in pyproject.toml). Equivalent
without installing:
python3 ensemble_demo.py "How does a multi-LLM ensemble improve answer quality?"
python3 ensemble_demo.py --sources "Your question here"
python3 -m train.dataset # rebuild synthetic corpus + scorer labels
python3 -m train.train # train generator + scorer -> models/ (uses MPS)
Both models use a word-level tokenizer (~1,100 vocab) trained on a synthetic
corpus of ~2,300 chat-style documents (~2.7M characters) built from 40 domain
concepts, each with multiple question phrasings, so the generator learns answer
style rather than memorizing exact questions. Set --cpu to force CPU, or pass
--epochs N / --batch-size N / --n-layer N / --n-embd N to tune.
Evaluate generalization on held-out questions with:
python3 -m train.eval_generator
Set at least one key set in .env (never commit it):
OPENAI_API_KEYS=sk-... # or OPENAI_API_KEY (OpenRouter: sk-or-v1-...)
GEMINI_API_KEY=...
MISTRAL_API_KEY=...
Then run the full ensemble with the trained local model plus remote providers:
python3 ai_client.py
cd vercel-deployment
npm install
npm run dev
Copy vercel-deployment/.env.example to .env.local and set
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and
SUPABASE_SERVICE_ROLE_KEY to enable real authentication and persistence.
Without them, the app runs in demo mode (localStorage-backed auth) so
everything is still testable.
TinyScorer blends 50/50 with the heuristics when present.models/scorer-tokenizer.json).Both train with python -m train.train — no downloads, no API keys.
training-job Python function itself is currently excluded from
production deploys -- see vercel-deployment/training-job-disabled/DISABLED.md)MIT