- Python 3.9+
- Node.js 16+
- Google API Key (Gemini)
cd backend
pip install -r requirements.txtCreate a .env file in the project root (/Users/fcheng/projects/capstone_project/.env):
GOOGLE_API_KEY="your_actual_google_api_key_here"
EMAIL="your_email@example.com"
PROJECT_ID="your_google_cloud_project_id"
LOCATION="us-central1"
ORCHESTRATOR_MODEL="gemini-1.5-pro-001"
RESEARCHER_MODEL="gemini-1.5-flash-001"
ANALYST_MODEL="gemini-1.5-flash-001"
DATA_STORE_ID="treg-data-store"
RETMAX="20"Important: Replace your_actual_google_api_key_here with your real Gemini API key.
cd /Users/fcheng/projects/capstone_project
python -m backend.data_ingestionAlways run from the project root:
cd /Users/fcheng/projects/capstone_project
python -m backend.api_serverThe server will start on http://localhost:8000
API Endpoints:
GET /- Welcome messageGET /health- Health checkGET /docs- Interactive API documentationPOST /chat- Main chat endpoint
cd frontend
npm installnpm run devThe frontend will typically run on http://localhost:5173
This means the backend couldn't import the agents. Make sure:
- You're running the server from the project root using
python -m backend.api_server - Your
.envfile has a validGOOGLE_API_KEY
You're running the server from the wrong directory. Always run from:
cd /Users/fcheng/projects/capstone_project
python -m backend.api_serverKill the existing process:
lsof -ti:8000 | xargs kill -9- Backend: FastAPI + Google Generative AI SDK
- Frontend: React + Vite + TailwindCSS
- Agents:
OrchestratorAgent(Gemini 1.5 Pro) - Main coordinatorResearcherAgent(Gemini 1.5 Flash) - Literature searchAnalystAgent(Gemini 1.5 Flash) - Data analysis