AgentSettings¶
Root configuration class using Pydantic Settings.
Quick Example¶
from mamba_agents import AgentSettings
# Load from environment, .env, config files
settings = AgentSettings()
# Override specific values
settings = AgentSettings(
model_backend={
"model": "gpt-4o",
"api_key": "sk-...",
},
logging={"level": "DEBUG"},
)
Configuration Sections¶
| Section | Type | Description |
|---|---|---|
model_backend |
ModelBackendSettings | Model connection |
logging |
LoggingConfig | Logging settings |
retry |
ErrorRecoveryConfig | Retry behavior |
context |
CompactionConfig | Default compaction |
tokenizer |
TokenizerConfig | Tokenizer settings |
cost_rates |
dict | Custom cost rates |
Environment Variables¶
MAMBA_MODEL_BACKEND__MODEL=gpt-4o
MAMBA_MODEL_BACKEND__API_KEY=sk-...
MAMBA_LOGGING__LEVEL=INFO
MAMBA_RETRY__MAX_RETRIES=3
API Reference¶
AgentSettings
¶
Bases: BaseSettings
Root configuration for the agent framework.
Configuration is loaded from multiple sources in priority order: 1. Constructor arguments (highest priority) 2. Environment variables (MAMBA_ prefix) 3. .env file (project-specific) 4. ~/mamba.env file (user-wide defaults) 5. config.toml file 6. Default values (lowest priority)
Environment variables use double underscore for nesting: - MAMBA_MODEL_BACKEND__BASE_URL -> model_backend.base_url - MAMBA_LOGGING__LEVEL -> logging.level
| ATTRIBUTE | DESCRIPTION |
|---|---|
model_backend |
Model backend connection settings.
TYPE:
|
logging |
Logging configuration.
TYPE:
|
retry |
Error recovery and retry settings.
TYPE:
|
context |
Default context compaction settings.
TYPE:
|
tokenizer |
Default tokenizer settings.
TYPE:
|
prompts |
Default prompt management settings.
TYPE:
|
cost_rates |
Custom cost rates per 1000 tokens by model.
TYPE:
|
settings_customise_sources
classmethod
¶
settings_customise_sources(
settings_cls: type[BaseSettings],
init_settings: PydanticBaseSettingsSource,
env_settings: PydanticBaseSettingsSource,
dotenv_settings: PydanticBaseSettingsSource,
file_secret_settings: PydanticBaseSettingsSource,
) -> tuple[PydanticBaseSettingsSource, ...]
Customize settings sources to include TOML file support.
Order determines priority (first = highest priority): 1. init_settings (constructor args) 2. env_settings (environment variables) 3. dotenv_settings (.env file) 4. toml_settings (config.toml file) 5. file_secret_settings (secrets files)
Source code in src/mamba_agents/config/settings.py
from_file
classmethod
¶
from_file(path: str | Path) -> AgentSettings
Load settings from a specific configuration file.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
Path to TOML or YAML configuration file.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
AgentSettings
|
AgentSettings instance with values from file. |
| RAISES | DESCRIPTION |
|---|---|
FileNotFoundError
|
If configuration file doesn't exist. |
ValueError
|
If file format is not supported. |
Source code in src/mamba_agents/config/settings.py
model_dump_safe
¶
Dump model to dict with secrets redacted.
| RETURNS | DESCRIPTION |
|---|---|
dict[str, Any]
|
Dictionary representation with sensitive values replaced. |