Letta Configuration
Complete guide for configuring models on agents and providers on servers.
When to Use This Skill
Agent-level (model configuration):
- Creating agents with specific model configurations
- Adjusting model settings (temperature, max tokens, context window)
- Configuring provider-specific features (OpenAI reasoning, Anthropic thinking)
- Changing models on existing agents
Server-level (provider configuration):
- Setting up BYOK (bring your own key) providers
- Configuring self-hosted deployments with environment variables
- Validating provider credentials
- Setting up custom OpenAI-compatible endpoints
Not covered here: Model selection advice (which model to choose) - see agent-development skill.
Part 1: Model Configuration (Agent-Level)
Model Handles
Models use a provider/model-name format:
| Provider | Handle Prefix | Example |
|---|---|---|
| OpenAI | openai/ | openai/gpt-4o, openai/gpt-4o-mini |
| Anthropic | anthropic/ | anthropic/claude-sonnet-4-5-20250929 |
| Google AI | google_ai/ | google_ai/gemini-2.0-flash |
| Azure OpenAI | azure/ | azure/gpt-4o |
| AWS Bedrock | bedrock/ | bedrock/anthropic.claude-3-5-sonnet |
| Groq | groq/ | groq/llama-3.3-70b-versatile |
| Together | together/ | together/meta-llama/Llama-3-70b |
| OpenRouter | openrouter/ | openrouter/anthropic/claude-3.5-sonnet |
| Ollama (local) | ollama/ | ollama/llama3.2 |
Basic Model Configuration
pythonfrom letta_client import Letta client = Letta(api_key="your-api-key") agent = client.agents.create( model="openai/gpt-4o", model_settings={ "provider_type": "openai", # Required - must match model provider "temperature": 0.7, "max_output_tokens": 4096, }, context_window_limit=128000 )
Common Settings
| Setting | Type | Description |
|---|---|---|
provider_type | string | Required. Must match model provider (openai, anthropic, google_ai, etc.) |
temperature | float | Controls randomness (0.0-2.0). Lower = more deterministic. |
max_output_tokens | int | Maximum tokens in the response. |
Changing an Agent's Model
pythonclient.agents.update( agent_id=agent.id, model="anthropic/claude-sonnet-4-5-20250929", model_settings={"provider_type": "anthropic", "temperature": 0.5}, context_window_limit=64000 )
Note: Agents retain memory and tools when changing models.
Provider-Specific Settings
For OpenAI reasoning models and Anthropic extended thinking, see references/provider-settings.md.
Part 2: Provider Configuration (Server-Level)
Quick Start
bash# Add provider via API python scripts/setup_provider.py --type openai --api-key sk-... # Generate .env for Docker python scripts/generate_env.py --providers openai,anthropic,ollama # Validate credentials python scripts/validate_provider.py --provider-id provider-xxx
Add BYOK Provider
python# Via REST API curl -X POST http://localhost:8283/v1/providers \ -H "Content-Type: application/json" \ -d '{ "name": "My OpenAI", "provider_type": "openai", "api_key": "sk-your-key-here" }'
Supported Provider Types
openai, anthropic, azure, google_ai, google_vertex, ollama, groq, deepseek, xai, together, mistral, cerebras, bedrock, vllm, sglang, hugging_face, lmstudio_openai
For detailed configuration of each provider, see:
references/common_providers.md- OpenAI, Anthropic, Azure, Googlereferences/self_hosted_providers.md- Ollama, vLLM, LM Studioreferences/all_providers.md- Complete referencereferences/environment_variables.md- Docker/self-hosted setup
Anti-Hallucination Checklist
Before configuring:
- Model handle uses correct
provider/model-nameformat -
model_settingsincludes requiredprovider_typefield -
context_window_limitis set at agent level, not inmodel_settings - Provider-specific settings use correct nested structure
- For self-hosted: embedding model is specified
- Temperature is within valid range (0.0-2.0)
Scripts
Model configuration:
scripts/basic_config.py- Basic model configurationscripts/basic_config.ts- TypeScript equivalentscripts/change_model.py- Changing models on existing agentsscripts/provider_specific.py- OpenAI reasoning, Anthropic thinking
Provider configuration:
scripts/setup_provider.py- Add providers via REST APIscripts/validate_provider.py- Check provider credentialsscripts/generate_env.py- Generate .env for Docker

