# ───────────────────────────────────────────────────────── # PlainSQL Enterprise — Environment Configuration # Copy this file to .env and fill in your values # ───────────────────────────────────────────────────────── # ── App Settings ───────────────────────────────────────── APP_NAME=PlainSQL ENV=development DEBUG=true LOG_LEVEL=INFO # ── Database ───────────────────────────────────────────── DB_URI=mysql+pymysql://root:YOUR_PASSWORD@localhost:3306/chatbot DB_POOL_SIZE=10 DB_QUERY_TIMEOUT=30 # ── Redis (optional — falls back to in-memory) ────────── REDIS_URL=redis://localhost:6379/0 CACHE_TTL_SECONDS=300 # ── Authentication ─────────────────────────────────────── # Generate with: openssl rand -hex 32 JWT_SECRET_KEY=change-me-in-production-use-openssl-rand-hex-32 JWT_EXPIRY_HOURS=8 # ── LLM Providers (at least one required) ─────────────── HUGGINGFACEHUB_API_TOKEN=your_hf_token_here DEFAULT_LLM_PROVIDER=huggingface DEFAULT_MODEL=Qwen/Qwen2.5-Coder-32B-Instruct # OpenAI (optional) # OPENAI_API_KEY=sk-your-key-here # Anthropic (optional) # ANTHROPIC_API_KEY=sk-ant-your-key-here # Ollama local (optional) # OLLAMA_BASE_URL=http://localhost:11434 # ── RAG Settings ───────────────────────────────────────── CHROMA_PERSIST_DIR=./chroma_db RAG_TOP_K=5 # ── Safety Limits ──────────────────────────────────────── MAX_QUERY_ROWS=1000 QUERY_TIMEOUT_SECONDS=30 # ── Rate Limiting ──────────────────────────────────────── RATE_LIMIT_RPM=60 # ── Observability (optional) ──────────────────────────── # LANGSMITH_API_KEY=your_langsmith_key # LANGSMITH_PROJECT=plainsql # ── CORS ───────────────────────────────────────────────── CORS_ORIGINS=["http://localhost:3000","http://127.0.0.1:5500"]