- All OpenAI, Gemini, Anthropic model/timeout/temperature settings - Brief extraction processing config (models, cost limits, concurrency) - File upload and WebSocket settings Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
67 lines
3.7 KiB
Text
67 lines
3.7 KiB
Text
# AC Tool — production environment configuration
|
|
# Copy to .env and fill in the required values:
|
|
# cp .env.example .env && nano .env
|
|
|
|
# ── Application ───────────────────────────────────────────────────────────────
|
|
# Host port Docker will bind to (container always listens on 8000 internally)
|
|
APP_PORT=8100
|
|
|
|
# ── Azure AD / MSAL (SPA PKCE — no client secret required) ───────────────────
|
|
AZURE_TENANT_ID=e519c2e6-bc6d-4fdf-8d9c-923c2f002385
|
|
AZURE_CLIENT_ID=9079054c-9620-4757-a256-23413042f1ef
|
|
AZURE_REDIRECT_URI=https://ai-sandbox.oliver.solutions/ac-helper/
|
|
|
|
# ── Admin bootstrap ───────────────────────────────────────────────────────────
|
|
# First login with this email automatically receives the admin role
|
|
ADMIN_EMAIL=
|
|
|
|
# ── OpenAI ────────────────────────────────────────────────────────────────────
|
|
OPENAI_API_KEY=
|
|
OPENAI_MODEL=gpt-4.1
|
|
OPENAI_REASONING_EFFORT=medium
|
|
OPENAI_TIMEOUT=3600
|
|
OPENAI_MAX_RETRIES=2
|
|
|
|
# ── Google Gemini ─────────────────────────────────────────────────────────────
|
|
# Required: used for AI spreadsheet commands
|
|
GEMINI_API_KEY=
|
|
GOOGLE_MODEL=gemini-2.0-flash-exp
|
|
GOOGLE_TEMPERATURE=0.7
|
|
GOOGLE_MAX_OUTPUT_TOKENS=100000
|
|
GOOGLE_THINKING_BUDGET=12000
|
|
GOOGLE_TIMEOUT=3600
|
|
|
|
# ── Anthropic Claude ──────────────────────────────────────────────────────────
|
|
ANTHROPIC_API_KEY=
|
|
ANTHROPIC_MODEL_OPUS=claude-opus-4-5-20251101
|
|
ANTHROPIC_MODEL_SONNET=claude-sonnet-4-5-20250929
|
|
ANTHROPIC_TEMPERATURE=1
|
|
ANTHROPIC_MAX_TOKENS=32000
|
|
ANTHROPIC_THINKING_BUDGET=12000
|
|
ANTHROPIC_TIMEOUT=300
|
|
|
|
# ── LlamaCloud (PDF parsing) ──────────────────────────────────────────────────
|
|
LLAMA_CLOUD_API_KEY=
|
|
|
|
# ── Brief extraction processing ───────────────────────────────────────────────
|
|
DEFAULT_PRIMARY_MODELS=anthropic-sonnet45,google-gemini20
|
|
DEFAULT_CONSOLIDATION_MODEL=anthropic-sonnet45
|
|
MINIMUM_SUCCESS_THRESHOLD=1
|
|
ENABLE_COST_ESTIMATION=true
|
|
MAX_PROCESSING_COST_USD=10.00
|
|
MAX_CONCURRENT_JOBS=5
|
|
|
|
# ── Security ──────────────────────────────────────────────────────────────────
|
|
# Generate with: python3 -c "import secrets; print(secrets.token_hex(32))"
|
|
SESSION_SECRET=
|
|
|
|
# ── CORS ──────────────────────────────────────────────────────────────────────
|
|
ALLOWED_ORIGINS=https://ai-sandbox.oliver.solutions
|
|
|
|
# ── File upload ───────────────────────────────────────────────────────────────
|
|
MAX_UPLOAD_SIZE_MB=200
|
|
FILE_RETENTION_HOURS=24
|
|
WS_PING_INTERVAL_SECONDS=30
|
|
|
|
# ── Dev mode (must be false in production) ────────────────────────────────────
|
|
DEV_MODE=false
|