Settings Reference
Complete Reference
AI_SDK = {
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Default provider and model
# ββββββββββββββββββββββββββββββββββββββββββββββ
"DEFAULT_PROVIDER": "openai",
"DEFAULT_MODEL": "gpt-4o-mini",
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Provider configurations
# ββββββββββββββββββββββββββββββββββββββββββββββ
"PROVIDERS": {
# Each key matches a provider name used in Agent.provider
"openai": {
"api_key": "sk-...",
"organization": "", # Optional
"default_model": "", # Override default model for this provider
},
"anthropic": {
"api_key": "sk-ant-...",
"default_model": "claude-3-5-haiku-20241022",
"default_thinking_budget": 8000,
},
"gemini": {
"api_key": "AIza...",
},
"groq": {
"api_key": "gsk_...",
},
"deepseek": {
"api_key": "sk-...",
"base_url": "https://api.deepseek.com",
},
"mistral": {
"api_key": "...",
},
"xai": {
"api_key": "xai-...",
},
"ollama": {
"base_url": "http://localhost:11434",
},
"azure": {
"api_key": "...",
"base_url": "https://YOUR_RESOURCE.openai.azure.com",
"api_version": "2024-02-01",
},
},
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Provider failover chain
# If a provider call fails, try the next one in order.
# ββββββββββββββββββββββββββββββββββββββββββββββ
"FAILOVER": [], # e.g., ["openai", "anthropic"]
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Conversation persistence
# ββββββββββββββββββββββββββββββββββββββββββββββ
"CONVERSATION": {
"PERSIST": True, # Save messages to the database
"MAX_HISTORY": 50, # Max messages loaded per agent turn
"AUTO_SUMMARIZE": False, # Auto-summarize old messages when MAX_HISTORY is exceeded
},
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Prompt caching
# ββββββββββββββββββββββββββββββββββββββββββββββ
"CACHE": {
"ENABLED": True,
"PROVIDERS": ["anthropic", "openai"], # Providers with native caching
},
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Server-Sent Events streaming
# ββββββββββββββββββββββββββββββββββββββββββββββ
"STREAMING": {
"CHUNK_SEPARATOR": "\n\n", # SSE event separator
"SSE_RETRY_MS": 3000, # Client reconnect delay hint (ms)
"STREAM_THINKING": False, # Include thinking_delta chunks
},
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Observability backend
# ββββββββββββββββββββββββββββββββββββββββββββββ
"OBSERVABILITY": {
"BACKEND": None, # "langsmith" | "langfuse" | "opentelemetry" | None
},
# ββββββββββββββββββββββββββββββββββββββββββββββ
# Token-based rate limiting
# ββββββββββββββββββββββββββββββββββββββββββββββ
"RATE_LIMITING": {
"ENABLED": False,
"BACKEND": "django_cache",
"PER_USER_TOKENS_PER_MINUTE": 50000,
"PER_USER_TOKENS_PER_DAY": 500000,
},
}Accessing Settings in Code
Programmatic Reload (Tests)
Environment Variable Pattern
Last updated
Was this helpful?