Skip to content

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 model
  • small_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:

  1. explicit CLI/UI selection (--model or picker)
  2. config model
  3. last used session model
  4. 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:

ClassificationTrigger (minimum 5 attempts)
verifiedsuccess rate >= 90%, empty-completion rate <= 5%, zero wrapper-leakage events
degradedsuccess 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 / pinModelPerTurn guarantee 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_ROUTING and ALPHABASE_ALLOW_RETRY_MODEL_FAILOVER can force routing/failover on for every request without requiring agentOptions per 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 /provider
  • GET /provider/capability-index
  • GET /provider/model-search?q=...

for capability-aware model routing and diagnostics.