# Core dependencies fastapi==0.104.1 uvicorn==0.23.2 pydantic==2.4.2 python-multipart==0.0.6 markdown==3.5.1 # Added markdown package # Vector database and embeddings chromadb==0.4.22 # chromadb 0.4.x uses np.float_, which numpy 2.0 removed — pin to 1.x. numpy<2.0 torch>=2.2.0 --extra-index-url https://download.pytorch.org/whl/cpu # Updated to compatible version # IMPORTANT: These three packages must be compatible versions huggingface_hub==0.17.3 transformers==4.33.2 accelerate==0.23.0 # Use sentence-transformers version after fixing other dependencies sentence-transformers==2.2.2 # Document processing pypdf==3.17.1 docx2txt==0.8 # Essential utilities requests>=2.28.2 aiohttp>=3.8.4 psutil==5.9.5 # Enhanced capabilities sympy>=1.11.1 # Math solving duckduckgo-search>=7.5.0 # Web search nltk>=3.8.1 # NLP capabilities groq>=0.4.0 # FREE Groq API for fallback (14,400 requests/day) # Phase 2: Claude + Tavily anthropic>=0.39.0 # Claude API for RAG-grounded answers tavily-python>=0.5.0 # Web search for /api/opportunities (FREE 1,000/month) # NVIDIA NIM fallback (OpenAI-compatible, free tier) — stronger than Groq/Llama-70B openai>=1.0.0 # Auth: server-side verification of Firebase ID tokens for /api/admin/* routes firebase-admin>=6.5.0 # Aurora PostgreSQL data layer (structured product data + admin dashboard) psycopg[binary,pool]>=3.1.0 boto3>=1.34.0 # generate_db_auth_token for IAM auth to Aurora # Rate limiting / abuse protection on costly endpoints (LLM, uploads) slowapi>=0.1.9