aac-chatbot / .env.example
shwetangisingh's picture
revert ink vision endpoint from Ollama Cloud back to Gemini
5a953f7
# Copy to .env and fill in your values.
# Settings here override the defaults in config/settings.py.
# Active tier: "primary" | "fallback"
ACTIVE_LLM_TIER=primary
# Both tiers hit Ollama Cloud over the OpenAI-compatible endpoint.
# Use a larger model on primary; the fallback fires when cumulative
# latency exceeds FALLBACK_LATENCY_THRESHOLD seconds.
PRIMARY_BASE_URL=http://localhost:11434/v1
PRIMARY_MODEL=gemma4:31b-cloud
PRIMARY_API_KEY=ollama
FALLBACK_BASE_URL=http://localhost:11434/v1
FALLBACK_MODEL=gemma4:31b-cloud
FALLBACK_API_KEY=ollama
# Per-turn logs are written as JSONL to <LOGS_DIR>/turns.jsonl
LOGS_DIR=logs
# off | strip | full | suppress
THINKING_MODE=off
THINKING_TOKEN_BUDGET=4096
FALLBACK_LATENCY_THRESHOLD=3.5
# Vision model used by /ink/recognize (needs image_url support).
# Routed via Google AI Studio's OpenAI-compatible endpoint — gemma4:31b-cloud
# advertises vision support but Ollama Cloud's tier gating made image inputs
# unreliable, so air-writing recognition uses Gemini 2.0 Flash instead.
# Get a key at: https://aistudio.google.com/apikey
INK_VISION_MODEL=gemini-2.0-flash
INK_VISION_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
INK_VISION_API_KEY=
# Frontend flags (VITE_ prefix required for Vite to expose them to the browser).
# Set to "false" to disable air-writing stroke capture and ink recognition.
VITE_AIRWRITING_ENABLED=true
# Set to "false" to disable gaze zone tracking and bucket firing.
VITE_GAZE_ENABLED=true
# Set to "true" only if top/bottom gaze buckets are swapped on your device.
VITE_GAZE_INVERT_Y=false
# Set to "false" to skip the per-user calibration window at session start.
# Detectors will fall back to fixed thresholds — only use for debugging.
VITE_CALIBRATION_ENABLED=true