Configuration
On this page
Field reference
[!WARNING] Some fields are defined but not wired up
groq_model,aws_model, andaws_regionexist onllm_configwith values that happen to match each interface's own hardcoded defaults today, but the interfaces do not actually read from the sharedllm_configinstance for these particular fields — each subclass module hardcodes its own default. Changingllm_config.groq_model, for instance, will not changeGroqInterface's default model. If you need a non-default model, passmodel_name=...explicitly at construction time; don't rely on editing the dataclass for these three fields.
max_token / temperature and Python's default-argument evaluation
Every module that uses llm_config for method defaults does this pattern:
config = llm_config()
class SomeInterface(BaseLLMInterface):
def generate(self, prompt: str, max_tokens: int = config.max_token, temperature: float = config.temperature, **kwargs):
...
Because config = llm_config() runs once at import time, and Python evaluates default parameter values once at function-definition time, max_tokens's default is baked in as 2048 and temperature's as 0.3 the moment the module is imported. Reassigning fields on that module-level config object after import has no effect on already-compiled method defaults. To change behavior at runtime, pass max_tokens=/temperature= explicitly on each call, or construct your own llm_config(...) with different values before importing the provider modules (impractical in most cases) — in practice, just pass the values explicitly per call.
Gemini's extra, undocumented-by-dataclass settings
GeminiInterface hardcodes rate-limiting behavior that has no corresponding llm_config field:
_min_request_interval = 5.0seconds between requests (to stay under Gemini's free-tier 15 req/min limit).max_retries = 5andbase_delay = 5(exponential backoff with jitter) for503/UNAVAILABLE/429errors.
These are not configurable via llm_config — they're literals inside gemini_interface.py. See GeminiInterface for details.
Ollama's extra constructor kwargs
OllamaInterface reads three settings from **kwargs rather than llm_config: base_url (defaults to config.ollama_base_url), auto_start (defaults to True), and server_start_wait (defaults to 10 seconds). See OllamaInterface.