# ── Database ────────────────────────────────────────────────────────── # PostgreSQL connection string (async with asyncpg driver) DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/rag_db # ── Groq API ────────────────────────────────────────────────────────── # Get your API key at https://console.groq.com GROQ_API_KEY=gsk_your_groq_api_key_here # ── Authentication ──────────────────────────────────────────────────── # Generate a strong random secret: python -c "import secrets; print(secrets.token_hex(32))" SECRET_KEY=your_jwt_secret_change_this_in_production # ── Uploads ─────────────────────────────────────────────────────────── UPLOAD_DIR=./uploads FASTEMBED_CACHE_PATH=../fastembed_cache # ── Application Settings ────────────────────────────────────────────── # How many relevant chunks to retrieve per query TOP_K=5 # Token-based chunk size for document splitting CHUNK_SIZE=500 # Overlap between consecutive chunks CHUNK_OVERLAP=50 # Maximum file upload size in bytes (10MB default) MAX_FILE_SIZE=10485760 # Allowed CORS origins (comma-separated for multiple origins) ALLOWED_ORIGINS=http://localhost:5173,http://localhost:80 # Number of uvicorn workers for production UVICORN_WORKERS=4 # ── Frontend (Vite) ─────────────────────────────────────────────────── # Base URL for the backend API VITE_API_URL=http://localhost:8000