weights_path | Path? | Directory containing clusters/, profiles/, and manifest.json. If None, resolves to the wheel-bundled weights-mmlu-v1/ (zero network on the default path); non-default packs fall back to a hub download. |
weights_name | str | Named weights package. "default" (alias for weights-mmlu-v1) ships in every wheel so load_router() works offline on first call. Pass a different name to fetch from the hub. |
embedding_model | str | SentenceTransformer model name. Only used by engine="python" — the Go backend uses its bundled ONNX MiniLM. |
cost_weight | float | λ in the decision rule score = expected_error + λ · cost. Range [0, ∞). 0.0 = quality-first; 0.5 = balanced; 1.0+ = cheap-first. |
use_soft_assignment | bool | If True, compute a probability distribution over all 100 clusters instead of hard-assigning to one. Slightly slower but more robust at cluster boundaries. |
allowed_models | list[str]? | Restrict candidates. E.g. ["gpt-4o-mini", "gpt-4o"]. |
download_if_missing | bool | Download the weights package on first run. Default True. |
verbose | bool | Print progress / health info on load. |
engine | str | "go" (default, production path — bundled binary), "python" (pure Python, no subprocess), or "auto" (prefer Go, silent fallback). |