mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-04 08:28:36 +00:00
2.4 KiB
2.4 KiB
How to Configure Model Fallback in nanobot
Model fallback lets nanobot try a primary model first, then fall back to one or more named presets when the primary provider fails or rate-limits.
What you will build
- two or more
modelPresets - a primary
agents.defaults.modelPreset - an ordered
agents.defaults.fallbackModelschain
When to use this
Use fallback when you want better reliability across rate limits, provider outages, local model downtime, or cost-sensitive routing.
Install
python -m pip install nanobot-ai
nanobot onboard --wizard
nanobot agent -m "Hello!"
Verify each provider works before adding it as a fallback.
Minimal working example
Merge this shape into ~/.nanobot/config.json and replace provider/model names
with ones you control:
{
"modelPresets": {
"fast": {
"label": "Fast",
"provider": "openrouter",
"model": "anthropic/claude-sonnet-4.5",
"maxTokens": 4096,
"contextWindowTokens": 65536,
"temperature": 0.1
},
"deep": {
"label": "Deep",
"provider": "anthropic",
"model": "claude-sonnet-4-5",
"maxTokens": 4096,
"contextWindowTokens": 200000,
"temperature": 0.1
}
},
"agents": {
"defaults": {
"modelPreset": "fast",
"fallbackModels": ["deep"]
}
}
}
String entries in fallbackModels are preset names, not raw model IDs.
Production notes
- Keep fallback context windows realistic; smaller fallback windows constrain how much context can fit.
- Put cheaper or faster fallbacks before expensive ones when acceptable.
- Use
/model <preset>for runtime switching without editing config. - Keep labels human-readable for WebUI model lists.
Security notes
- Different providers may have different data handling policies.
- Do not put provider keys directly in shared config files.
- Confirm fallback models can safely receive the same prompts and files.
Troubleshooting
- If a fallback never triggers, confirm the primary error is treated as retryable/fallbackable.
- If startup fails, check that each fallback string matches a key under
modelPresets. - If output is truncated after fallback, review
maxTokensandcontextWindowTokens.