Configuration
Copy .env.example to .env in the repo root. The server loads.env on startup (see voxgraph/core/settings.py).
API keys
| Variable | Required | Description |
|---|
DEEPGRAM_API_KEY | Yes | Deepgram STT + Aura TTS |
GOOGLE_API_KEY | If Gemini | Google GenAI for LLM_PROVIDER=gemini |
ELEVENLABS_API_KEY | Optional | Fallback TTS when TTS_PROVIDER=elevenlabs |
LLM
| Variable | Default | Description |
|---|
LLM_PROVIDER | gemini | ollama or gemini |
OLLAMA_BASE_URL | http://localhost:11434 | Ollama server URL |
OLLAMA_MODEL | llama3.2:1b | Model tag (e.g. qwen2.5:7b) |
OLLAMA_NUM_CTX | 8192 | Context window tokens |
OLLAMA_NUM_PREDICT | 256 | Max reply tokens |
VOICE_MAX_WORDS | 45 | Soft cap in system prompt for spoken replies |
TTS
| Variable | Default | Description |
|---|
TTS_PROVIDER | auto | deepgram, elevenlabs, or none |
DEEPGRAM_TTS_MODEL | aura-2-thalia-en | Deepgram Aura voice model |
TTS_MIN_PHRASE_CHARS | 12 | Batch LLM tokens before TTS HTTP call |
Latency (demo mode)
| Variable | Demo | Normal |
|---|
DEMO_MODE | 1 | 0 |
UTTERANCE_DEBOUNCE_SEC | 0.12 | 2.5 |
DEEPGRAM_ENDPOINTING_MS | 180 | 300 |
Memory
| Variable | Default | Description |
|---|
EPISODIC_MAX_TURNS | 30 | Max conversation turns stored per user |
EPISODIC_MAX_CHARS | 12000 | Character budget for history in LLM prompt |
Other
STT_ONLY=1 — transcribe only, skip LLM/TTSSAVE_AUDIO=0 — do not write last_response.wav on disk