LLM Providers
Aurora requires an LLM provider for its AI-powered investigation and Root Cause Analysis (RCA) capabilities. You can use a single gateway like OpenRouter, connect directly to individual providers, or run models locally with Ollama.
Supported Providers
| Provider | Mode | Environment Variable | Get API Key |
|---|---|---|---|
| OpenRouter | Gateway | OPENROUTER_API_KEY | openrouter.ai/keys |
| OpenAI | Direct | OPENAI_API_KEY | platform.openai.com |
| Anthropic | Direct | ANTHROPIC_API_KEY | console.anthropic.com |
| Google AI | Direct | GOOGLE_AI_API_KEY | ai.google.dev |
| Vertex AI | Direct | VERTEX_AI_PROJECT + credentials | console.cloud.google.com |
| Ollama | Direct | OLLAMA_BASE_URL | ollama.com (free, local) |
Only one provider is required.
Provider Modes
Aurora supports two routing modes, controlled by LLM_PROVIDER_MODE:
OpenRouter Mode (default)
Routes all LLM requests through OpenRouter, giving you access to multiple model providers with a single API key.
LLM_PROVIDER_MODE=openrouter
OPENROUTER_API_KEY=sk-or-v1-...
Direct Mode
Connects directly to each provider's native API. Use this when running models locally with Ollama or when you prefer direct API access.
LLM_PROVIDER_MODE=direct
In direct mode, Aurora auto-detects the provider from the model name prefix (e.g., anthropic/claude-3-haiku routes to Anthropic, google/gemini-2.5-flash routes to Google AI).
Vertex AI and Ollama always use their native SDKs regardless of LLM_PROVIDER_MODE. OpenAI, Anthropic, and Google AI models can all be routed through OpenRouter.
Supported Models
| Provider | Model | Notes |
|---|---|---|
| OpenAI | openai/gpt-5.4 | Latest flagship, 1M context |
openai/gpt-5.2 | Previous flagship | |
openai/o3 | Strong reasoning model | |
openai/o4-mini | Fast reasoning, lower cost | |
openai/o3-mini | Compact reasoning model | |
openai/gpt-4.1 | Reliable all-rounder | |
openai/gpt-4.1-mini | Fast and affordable | |
openai/gpt-4o | Multimodal (text + vision) | |
openai/gpt-4o-mini | Cheapest OpenAI option | |
| Anthropic | anthropic/claude-opus-4.6 | Most capable, 1M context |
anthropic/claude-sonnet-4.6 | Near Opus quality at lower cost | |
anthropic/claude-opus-4.5 | Previous generation flagship | |
anthropic/claude-sonnet-4.5 | Balanced quality and speed | |
anthropic/claude-haiku-4.5 | Fast, affordable | |
anthropic/claude-3.5-sonnet | Widely used, reliable | |
anthropic/claude-3-haiku | Cheapest (default RCA model) | |
| Google Gemini | google/gemini-3.1-pro-preview | Latest flagship with thinking |
google/gemini-3-flash-preview | Fast, outperforms 2.5 Pro | |
google/gemini-2.5-pro | Strong for complex tasks | |
google/gemini-2.5-flash | Cost-effective | |
google/gemini-2.5-flash-lite | Cheapest Gemini option | |
| Vertex AI | vertex/gemini-3.1-pro-preview | Latest flagship with thinking |
vertex/gemini-3-flash-preview | Fast, enterprise-grade | |
vertex/gemini-2.5-pro | Strong for complex tasks | |
vertex/gemini-2.5-flash | Cost-effective with IAM auth | |
vertex/gemini-2.5-flash-lite | Cheapest Vertex option | |
| Ollama | ollama/llama3.1 | Meta's Llama 3.1 (8B/70B) |
ollama/qwen2.5 | Alibaba's Qwen 2.5 (various sizes) | |
Any model via ollama pull |
Model names use the provider/model format. New models from each provider are generally supported automatically — update your RCA_MODEL or select them in the UI.
Provider Setup
OpenRouter (Recommended for Getting Started)
The easiest way to get started. One API key gives you access to models from OpenAI, Anthropic, Google, Meta, and more.
OPENROUTER_API_KEY=sk-or-v1-...
LLM_PROVIDER_MODE=openrouter
OpenAI
OPENAI_API_KEY=sk-...
LLM_PROVIDER_MODE=direct
Anthropic
ANTHROPIC_API_KEY=sk-ant-...
LLM_PROVIDER_MODE=direct
Google AI (Gemini via API Key)
For using Gemini models with a Google AI Studio API key.
GOOGLE_AI_API_KEY=AIza...
LLM_PROVIDER_MODE=direct
Vertex AI (Gemini via Google Cloud)
For organizations using Google Cloud. Vertex AI provides enterprise-grade access to Gemini models with IAM-based authentication.
Requirements:
- A Google Cloud project with Vertex AI API enabled
- A service account with the
Vertex AI Userrole
Setup:
# Required: Google Cloud project ID
VERTEX_AI_PROJECT=my-gcp-project
# Required: Service account credentials (JSON string)
VERTEX_AI_SERVICE_ACCOUNT_JSON={"type":"service_account","project_id":"...","private_key":"..."}
# Optional: Location (default: global)
VERTEX_AI_LOCATION=global
LLM_PROVIDER_MODE=direct
Authentication options:
- Service account JSON (recommended): Set
VERTEX_AI_SERVICE_ACCOUNT_JSONto the full JSON contents of your service account key file. - Application Default Credentials (ADC): If running on GCP (Cloud Run, GKE), ADC is automatic — just set
VERTEX_AI_PROJECT. - Credentials file path: Set
GOOGLE_APPLICATION_CREDENTIALSto the path of your service account key file.
The project ID is automatically extracted from the service account JSON if VERTEX_AI_PROJECT is not set.
Ollama (Local Models)
Run models locally on your own hardware with Ollama. No API key needed.
Setup:
- Install Ollama on your host machine
- Pull the models you want to use:
ollama pull llama3.1
ollama pull qwen2.5:32b - Configure Aurora:
OLLAMA_BASE_URL=http://host.docker.internal:11434
LLM_PROVIDER_MODE=direct
host.docker.internal allows Docker containers to reach services running on the host machine. This works out of the box on macOS and Windows. On Linux, Aurora's Docker Compose files include the extra_hosts configuration needed for this to work.
Recommended models for RCA:
| Model | Size | Notes |
|---|---|---|
llama3.1:70b | 70B | Best quality for complex RCA |
qwen2.5:32b | 32B | Good balance of quality and speed |
llama3.2 | 3B | Fast, but limited tool calling |
RCA Model Configuration
By default, Aurora uses anthropic/claude-3-haiku for background Root Cause Analysis. You can change this to any supported provider/model.
# Format: provider/model-name
RCA_MODEL=anthropic/claude-3-haiku
Examples:
# Anthropic (default)
RCA_MODEL=anthropic/claude-3-haiku
# OpenAI
RCA_MODEL=openai/gpt-4o
# Google AI
RCA_MODEL=google/gemini-2.5-flash
# Vertex AI
RCA_MODEL=vertex/gemini-2.5-flash
# Ollama (local)
RCA_MODEL=ollama/llama3.1
When RCA_MODEL is not set, the default depends on RCA_OPTIMIZE_COSTS:
RCA_OPTIMIZE_COSTS=true(default): Usesanthropic/claude-3-haikuRCA_OPTIMIZE_COSTS=false: Usesanthropic/claude-opus-4.5
Cost Considerations
LLM costs depend on:
- Tokens processed: Longer investigations use more tokens
- Model choice: Larger models cost more per token
- Frequency: More investigations = higher costs
Cost Optimization
- Set
RCA_OPTIMIZE_COSTS=trueto use cheaper models for background RCA - Use OpenRouter for flexible, pay-per-token pricing
- Use Ollama for zero API costs (requires local GPU)
Troubleshooting
"Invalid API key"
- Check key is correctly copied (no extra spaces)
- Verify key is active in provider dashboard
- Ensure correct environment variable name
"Rate limit exceeded"
- Wait and retry
- Consider upgrading your API tier
- Reduce concurrent investigations
"Model not available"
- Check provider status page
- Try a different model
- Ensure your API key has access to the model
Vertex AI: "DefaultCredentialsError"
- Verify
VERTEX_AI_PROJECTis set - Check that
VERTEX_AI_SERVICE_ACCOUNT_JSONcontains valid JSON - Ensure the service account has the
Vertex AI Userrole
Ollama: "Provider not available"
- Verify Ollama is running:
curl http://localhost:11434/api/tags - Check that the model is pulled:
ollama list - Ensure
OLLAMA_BASE_URLis correct (usehost.docker.internalin Docker)