# ============================================ # CXInsights - Environment Variables # ============================================ # Copy this file to .env and configure your values # cp .env.example .env # ============================================ # === API KEYS (Required) === ASSEMBLYAI_API_KEY=your_assemblyai_key_here OPENAI_API_KEY=sk-your_openai_key_here # === API KEYS (Optional) === ANTHROPIC_API_KEY=sk-ant-your_anthropic_key_here # === PATHS === INPUT_FOLDER=./data/raw/audio OUTPUT_FOLDER=./data/outputs DATA_DIR=./data CONFIG_DIR=./config LOG_DIR=./data/logs # === BATCH CONTROLS === # Maximum calls per batch execution BATCH_SIZE=1000 # Maximum total audio minutes per batch (cost protection) MAX_AUDIO_MINUTES_PER_RUN=10000 # === STT THROTTLING === # AssemblyAI concurrent transcriptions (start conservative: 30) MAX_CONCURRENT_TRANSCRIPTIONS=30 # === LLM THROTTLING === # OpenAI requests per minute (adjust based on your tier) # Tier 1 (free): 500 RPM -> configure 200 internal # Tier 2: 5000 RPM -> configure 2000 internal # Tier 3+: adjust as needed LLM_REQUESTS_PER_MINUTE=200 # Max tokens per call (controls cost) LLM_MAX_TOKENS_PER_CALL=4000 # Retry configuration LLM_MAX_RETRIES=5 LLM_BACKOFF_BASE=2.0 LLM_BACKOFF_MAX=60.0 # === LLM MODEL === # Default model for inference LLM_MODEL=gpt-4o-mini # Alternative: gpt-4o, claude-3-haiku-20240307 # === LOGGING === LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR # === PII HANDLING === # Enable PII redaction before sending to external APIs PII_REDACTION_ENABLED=true # Redaction strategy: redact, hash, mask PII_REDACTION_STRATEGY=redact