Models
Model selection, defaults, reliability, and Smart Router.
Model identifiers use the form providerID/modelID.
Select A Model
- UI: model picker
- TUI:
/models - CLI flag:
--model provider/model
Default Model Fields
model: primary modelsmall_model: lightweight helper model for low-cost background tasks
{ "model": "openai/gpt-5", "small_model": "openai/gpt-5-nano"}Resolution Order
At runtime, model selection preference is:
- explicit CLI/UI selection (
--modelor picker) - config
model - last used session model
- provider fallback ordering
BYOK And Cost Tiers
AlphaBase is bring-your-own-key (BYOK): you connect provider credentials, and that provider bills you directly for usage. AlphaBase does not mark up or resell model access.
To let you try the full product before connecting anything, AlphaBase ships one
always-free path: Ollama cloud models (for example ollama/minimax-m2.5:cloud)
require no billing setup and are the default for new installs. Every other
provider you connect (Anthropic, OpenAI, Google, OpenRouter, or any
Models.dev-listed provider) bills through that provider’s own account at that
provider’s own rates — see Providers.
The free testing model is useful for trying the workflow, but it is a smaller,
slower reasoning model than most paid options. For complex multi-step or
multi-file tasks, a stronger paid model will be noticeably more reliable. Use
Launch Gates (certify:model) to measure how well any
model you connect actually performs on real tasks before relying on it as your
default.
Model Reliability And Capability Learning
AlphaBase tracks per-model success/failure evidence across sessions
(model-capability-health.json) and classifies each model’s recent track record:
| Classification | Trigger (minimum 5 attempts) |
|---|---|
verified | success rate >= 90%, empty-completion rate <= 5%, zero wrapper-leakage events |
degraded | success rate <= 50% OR empty-completion rate >= 25% — unless the most recent attempt succeeded |
fragile | >= 2 empty completions, OR empty rate >= 40%, OR >= 2 wrapper-leakage events |
A degraded classification reduces a model’s output budget and can disable
reasoning on retries, since a struggling model is given a more conservative
budget. This classification is self-healing: as soon as a model’s evidence
recovers out of the degraded/fragile range, those flags clear automatically — a
model is never permanently hobbled by an old bad streak. A model whose most
recent attempt succeeded is never newly marked degraded, even if older history
was poor.
Idle Timeouts For Reasoning Models
Reasoning-heavy models (cloud Ollama models, including minimax-class models)
routinely spend longer before producing their first visible output because they
think before answering. AlphaBase gives these models a longer idle timeout than
fast non-reasoning models so they aren’t cut off mid-thought. This is tunable via
environment variables — see Config.
Smart Router (Opt-In, Advanced)
AlphaBase includes an internal Smart Router that can rank candidate models for an attempt and fail over to another model on a stuck/failed attempt. It is disabled by default and only engages when explicitly enabled for that request — AlphaBase never silently switches your selected model mid-task.
Smart Router is currently configured per-request via the prompt’s agentOptions
(an SDK/API-level option), under any of these equivalent keys: modelRouter,
modelRouting, or smartRouting. It is not yet a static alphabase.json
top-level key.
// agentOptions passed with a prompt request{ "modelRouter": { "enabled": true, "models": ["openai/gpt-5", "anthropic/claude-sonnet-4-6"], "strategy": "balanced", "maxAttempts": 3, "cooldownSeconds": 30, "sameProviderOnly": false, "pinModelPerTurn": false, "respectRankOrder": true, "healthAwareRouting": true }}Notes:
sameProviderOnly/pinModelPerTurnguarantee the router will not switch providers mid-task, even with a multi-provider chain configured. For reasoning cloud-Ollama models, AlphaBase forces this pinning automatically whenever routing is enabled, so an in-progress task never jumps providers.- Failover only ever engages on attempt 2+ of a turn that is genuinely stuck — a first attempt is never preemptively routed away from your selected model.
- For local/self-hosted instances, the env vars
ALPHABASE_ALLOW_RUNTIME_MODEL_ROUTINGandALPHABASE_ALLOW_RETRY_MODEL_FAILOVERcan force routing/failover on for every request without requiringagentOptionsper call — see Config.
Per-Model Overrides
provider.<id>.models.<modelID> supports options and variants.
{ "provider": { "<provider-id>": { "models": { "<model-id>": { "options": { "timeout": 300000 }, "variants": { "high": { "disabled": false }, "max": { "disabled": false } } } } } }}Variant Notes
- Variants are provider/model-specific.
- You can disable unwanted variants with
variants.<name>.disabled. - Agent-level model + variant settings can override global defaults.
Provider/Model Discovery
Use:
GET /providerGET /provider/capability-indexGET /provider/model-search?q=...
for capability-aware model routing and diagnostics.