AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 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.查看完整 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