A multi-agent real estate platform with specialized agents for buyers, sellers, price estimation, and neighborhood analysis.
Real_Estate_Agent/
├── .env
├── requirements.txt
├── streamlit.py
├── agents/
│ ├── buyer_agent/
│ │ ├── __main__.py
│ │ ├── agent.py
│ │ └── task_manager.py
│ ├── seller_agent/
│ │ ├── __main__.py
│ │ ├── agent.py
│ │ └── task_manager.py
│ ├── price_agent/
│ │ ├── __main__.py
│ │ ├── agent.py
│ │ └── task_manager.py
│ ├── neighborhood_agent/
│ │ ├── __main__.py
│ │ ├── agent.py
│ │ └── task_manager.py
│ └── host_agent/
│ ├── __main__.py
│ ├── agent.py
│ └── task_manager.py
├── common/
│ ├── a2a_client.py
│ └── a2a_server.py
└── shared/
└── schema.py
Install all packages from requirements.txt:
pip install -r requirements.txtPackage List:
google-adklitellmfastapiuvicornhttpxpydanticopenaistreamlitrequests
Create .env file in project root:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_api_key_here
- Open project in VS Code
- Open 5 integrated terminals (
Terminal > New Terminal) - Run each FastAPI agent and Streamlit in separate terminals:
# Terminal 1 - Buyer Agent FastAPI (Port 8001)
python -m agents.buyer_agent
# Terminal 2 - Seller Agent FastAPI (Port 8002)
python -m agents.seller_agent
# Terminal 3 - Price Agent FastAPI (Port 8003)
python -m agents.price_agent
# Terminal 4 - Neighborhood Agent FastAPI (Port 8004)
python -m agents.neighborhood_agent
# Terminal 5 - Streamlit Web Interface (Port 8501)
streamlit run streamlit.pyPort Configuration:
- Buyer Agent:
http://localhost:8001 - Seller Agent:
http://localhost:8002 - Price Agent:
http://localhost:8003 - Neighborhood Agent:
http://localhost:8004 - Streamlit App:
http://localhost:8501
Create .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Start All Agents",
"type": "shell",
"command": "python",
"args": ["-m", "agents.buyer_agent"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"panel": "new"
}
}
]
}- Open browser to
http://localhost:8501 - Use VS Code's built-in browser:
Ctrl+Shift+P→ "Simple Browser"