Covers: overview, setup, API reference, configuration, testing, deployment, and known quirks.
2.8 KiB
2.8 KiB
Configuration
All configuration is driven by environment variables. There are no config files.
LLM Provider Settings
LLM_PROVIDER
- Values:
openai|anthropic - Default:
openai - Determines which adapter to use for API calls. Use
openaifor Ollama, LM Studio, and any OpenAI-compatible API. Useanthropicfor MiniMax or any Anthropic-compatible API.
LLM_BASE_URL
- Default:
http://ollama.internal.henryhosted.com:9292/v1 - The base URL for the LLM API. Must include the
/v1(OpenAI format) or/anthropic(Anthropic format) suffix as appropriate.
LLM_API_KEY
- Default:
none - API key for the LLM provider. Set to
nonefor local Ollama instances that don't require authentication.
LLM_MODEL
- Default:
qwen2.5-7b-instruct.q4_k_m - The model name. Must match a model available on the target LLM backend.
LLM_TEMPERATURE
- Default:
0.1 - Sampling temperature (0.0–1.0). Lower values produce more deterministic outputs. A value around
0.1is recommended for classification tasks.
LLM_TIMEOUT_SECONDS
- Default:
60 - Request timeout in seconds.
LLM_MAX_RETRIES
- Default:
3 - Maximum number of retries when a classification attempt fails to parse or returns an invalid result.
Deduplication Settings
EMAIL_CLASSIFIER_DB_PATH
- Default:
.data/email_classifier.db - Path to the SQLite database used for deduplication tracking. The directory will be created automatically.
Provider-Specific Examples
Ollama (local, OpenAI-compatible)
export LLM_PROVIDER=openai
export LLM_BASE_URL=http://localhost:11434/v1
export LLM_API_KEY=none
export LLM_MODEL=qwen2.5-7b-instruct.q4_k_m
export LLM_TEMPERATURE=0.1
MiniMax (Anthropic-compatible API)
export LLM_PROVIDER=anthropic
export LLM_BASE_URL=https://api.minimax.io/anthropic
export LLM_API_KEY=your_minimax_key
export LLM_MODEL=MiniMax-M2.7
export LLM_TEMPERATURE=0.1
LM Studio (local, OpenAI-compatible)
export LLM_PROVIDER=openai
export LLM_BASE_URL=http://localhost:1234/v1
export LLM_API_KEY=none
export LLM_MODEL=your-loaded-model-name
export LLM_TEMPERATURE=0.1
OpenAI (cloud)
export LLM_PROVIDER=openai
export LLM_BASE_URL=https://api.openai.com/v1
export LLM_API_KEY=sk-...
export LLM_MODEL=gpt-4o-mini
export LLM_TEMPERATURE=0.1
Per-Request Overrides
Any LLM setting can be overridden per-request by passing the field in the request body. This is useful when a single client needs to route to different providers dynamically (e.g., different email accounts with different LLM backends).
{
"email_data": { "subject": "...", "body": "..." },
"provider": "anthropic",
"base_url": "https://api.minimax.io/anthropic",
"api_key": "minimax_key_here",
"model": "MiniMax-M2.7"
}