# Copy this file to .env and fill in your values # Never commit .env to git # PostgreSQL / pgvector (Docker) POSTGRES_HOST=localhost POSTGRES_PORT=5433 POSTGRES_USER=admin POSTGRES_PASSWORD=your_password_here POSTGRES_DB=calamity_rag # Embedding model (local, no key needed) EMBEDDING_MODEL=BAAI/bge-large-en-v1.5 # Modal (for fine-tuning phase) MODAL_TOKEN_ID=your_modal_token_id MODAL_TOKEN_SECRET=your_modal_token_secret # Math Engine Microservice (Serverless GPU) MATH_ENGINE_URL=https://your-math-engine-endpoint.modal.run # ReliefWeb API (if approved) RELIEFWEB_APPNAME=your_appname_here # Serverless LLM Endpoint (Groq LPU) CLOUD_LLM_ENDPOINT="https://api.groq.com/openai/v1" CLOUD_LLM_API_KEY="your_groq_api_key_here" CLOUD_LLM_MODEL="qwen/qwen3.8-27b" # Database URL for async / cloud operations DATABASE_URL=postgresql://user:pass@host:port/dbname # Ingestion Webhook Security INGESTION_SECRET_KEY=generate_a_random_secure_string # Time-Decay and Historical RAG Configurations MIN_EVENT_YEAR=2000 DECAY_EARTHQUAKE=0.002 DECAY_FLOOD=0.008 DECAY_DEFAULT=0.005 # Production RAG upgrade flags (implementation_plan.md) — both default to the # pre-upgrade behaviour until toggled, so unset == unchanged pipeline. # USE_HYBRID_RAG=1 # three-list RRF (dense + sparse FTS + recency) with tier padding # EMBEDDING_COLUMN=embedding_v2 # re-embedded column (full 2048-char window) # Embedding providers (hf_to_fireworks_migration_plan.md) # Qwen3 (Fireworks) and BGE (Hugging Face) are DIFFERENT vector spaces: each # provider owns its own column and a query vector is only ever compared against # the column its own provider wrote. Never point two providers at one column. FIREWORKS_API_KEY=your_fireworks_key_here FIREWORKS_BASE_URL=https://api.fireworks.ai/inference/v1 FIREWORKS_EMBEDDING_MODEL=accounts/fireworks/models/qwen3-embedding-8b FIREWORKS_EMBEDDING_DIMENSIONS=1024 # Which provider is tried first; the other remains the fallback. Defaults to # fireworks whenever FIREWORKS_API_KEY is set, else huggingface. # EMBEDDING_PRIMARY_PROVIDER=fireworks # Explicit full order; overrides EMBEDDING_PRIMARY_PROVIDER. # EMBEDDING_PROVIDER_ORDER=fireworks,huggingface # Column holding the Hugging Face / BGE vectors (embedding_v2 by default). # HF_EMBEDDING_COLUMN=embedding_v2 # Qwen3 reranker — ON by default: it reorders the RRF pool by true relevance. # Cost is ~$0.0005 per request (prompt tokens over the 20 candidates); failures # fall back silently to the RRF order, so it degrades gracefully when unkeyed. # Set to 0 to disable. USE_RERANKER=1 # FIREWORKS_RERANKER_MODEL=accounts/fireworks/models/qwen3-reranker-8b # RERANK_CANDIDATES=20 # RERANK_DOC_CHARS=1200