This project consists of a FastAPI backend using LangGraph, Gemini, and Local Voice (Faster-Whisper + Edge-TTS) and an Angular frontend.
Before you begin, ensure you have the following installed:
- Python 3.13+
- Node.js (latest LTS recommended)
- Git
Backend/: FastAPI application, AI agent logic, and database.Frontend/: Angular application for the user interface.
-
Navigate to the Backend directory:
cd Backend -
Create a virtual environment: We recommend using
uvfor faster dependency management, but standardvenvworks too.Using
uv(Recommended):# Install uv if you haven't: https://github.com/astral-sh/uv uv venv uv syncUsing
venv:python -m venv .venv # Windows: .venv\Scripts\activate # macOS/Linux: source .venv/bin/activate pip install -r req.txt
-
Configure Environment Variables:
- Copy the example environment file:
cp .env.example .env
- Open
.envand add yourGEMINI_API_KEY.
- Copy the example environment file:
-
Initialize the Database:
python db/create_db.py
-
Run the Backend:
python main.py
The backend will start at
http://localhost:8000.
-
Navigate to the Frontend directory:
cd Frontend -
Install dependencies:
npm install
-
Run the Frontend:
npm start
Open your browser and navigate to
http://localhost:4200/.
- Python Version: Ensure you are using Python 3.13 or higher as specified in
pyproject.toml. - Port Conflicts: Ensure ports
8000(Backend) and4200(Frontend) are available. - Microphone Access: The application requires microphone access for audio input features.
- API Keys: Ensure your Gemini API key is valid and has sufficient quota.