AI Model Blending Toolkit — orchestrate multiple models for superior performance
Project description
Beethovain
AI Model Blending Toolkit — Orchestrate multiple models for superior performance.
Blend small language models (SLMs) together to achieve results that rival larger models, at a fraction of the cost.
Quick Start
pip install beethovain
from beethovain import BlendSession
session = BlendSession.from_yaml("experiment.yaml")
result = await session.blend("Classify this article", "judge")
print(result.parsed) # {"is_benefit": true, "confidence": 0.82}
What is Blending?
Instead of using one large model, combine multiple smaller models:
- Routing — Fast model first, escalate to strong model if confidence is low
- Ensemble — Multiple models vote, weighted majority wins
- Cascade — Primary generates, secondary verifies/corrects
Real result: 3 SLMs (1.2B + 4B + 7.8B) blended → F1 80.1% on a classification task.
Features
| Feature | Command |
|---|---|
| SDK | from beethovain import BlendSession |
| CLI | beethovain blend config.yaml judge --prompt "..." |
| Record | beethovain record --function sfm --models colmap --project "..." — log any experiment (vision/3D/training too) |
| MCP | beethovain mcp — AI agents record/query/push as MCP tools |
| REST API | beethovain serve config.yaml |
| Dashboard | Browser → http://localhost:8000 |
| TUI | beethovain watch |
| Push | beethovain push --project "MyProject" [--private] → beethovain.com |
For AI Agents (MCP)
pip install beethovain[mcp]
claude mcp add beethovain -- beethovain mcp
Exposes record_experiment / list_experiments / get_experiment / get_stats / push_to_hub.
Working in another project and told to "use beethovain"? → read AGENT_GUIDE.md.
Projects & Runs (like GitHub repos & commits)
Every run belongs to a project. Set it via --project, the YAML project: key,
or BlendSession.from_yaml(..., project=...). beethovain.com lists projects, not raw runs.
YAML Config
judge:
strategy: ensemble
models:
- name: "exaone3.5:7.8b"
tier: strong
weight: 0.95
- name: "gemma3:1b"
tier: fast
weight: 0.6
min_agreement: 2
result_type: binary
Requirements
- Python 3.11+
- Ollama running locally (for model inference)
Optional Dependencies
pip install beethovain[api] # REST API + Dashboard
pip install beethovain[tui] # Terminal dashboard
pip install beethovain[hf] # HuggingFace models
pip install beethovain[all] # Everything
Links
- Website: beethovain.com
- Docs: Coming soon
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beethovain-0.3.1.tar.gz.
File metadata
- Download URL: beethovain-0.3.1.tar.gz
- Upload date:
- Size: 40.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
633031587db7d5b08c82bf2a2d5bb58a28742af78126823865a554af5a3dc31b
|
|
| MD5 |
fd9e3d12a6f50d0fe1ea56f807c462fa
|
|
| BLAKE2b-256 |
c5765e710cfd82eedb06ef0573223ecf488eb5fd6535faf2e81ec625dfc17ab3
|
File details
Details for the file beethovain-0.3.1-py3-none-any.whl.
File metadata
- Download URL: beethovain-0.3.1-py3-none-any.whl
- Upload date:
- Size: 44.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
286b2345dad668c245bd0e069da52e4c5bf38cd31523324e0f03493ffd52843c
|
|
| MD5 |
1eab62cebec9d09372c14eeb3ff8622d
|
|
| BLAKE2b-256 |
8a5a337c0160d941cdbcd0cc7614d0f9f7fc6788993ce2584ea414a7c85254f5
|