# AI Tourism Assistant
A multi-agent AI tourism system built with LangChain that helps users plan trips, check weather conditions, and discover tourist attractions through natural language conversation.
**Created by:** Saksham Sudan (USN-1CR22IS129)
**Assignment:** Inkle AI Intern Assignment
## Live Demo
View Live App on Streamlit Cloud
## Features
### Multi-Agent Architecture
- **Orchestrator Agent**: Main conversational interface that delegates tasks to specialized agents
- **Weather Agent**: Handles weather-related queries using Open-Meteo API
- **Places Agent**: Discovers tourist attractions using Overpass API
- **Conversation Memory**: Maintains context across multiple conversation turns
### Technical Capabilities
- Natural language understanding powered by GPT-4o (via GitHub Models)
- Real-time weather data fetching
- Tourist attraction recommendations for any city
- Context-aware responses (e.g., "What's the weather there?" after mentioning a city)
- Clean web interface built with Streamlit
## APIs Used
All APIs used in this project are free and require no authentication:
- **Open-Meteo API**: Weather forecasting and current conditions
- **Overpass API**: OpenStreetMap data for tourist attractions
- **Nominatim API**: Geocoding service to convert city names to coordinates
## Project Structure
```
ai-tourism-system/
├── agents/
│ ├── __init__.py
│ ├── langchain_agent.py # Orchestrator agent with memory
│ └── sub_agents.py # Weather and Places specialized agents
├── tools/
│ ├── __init__.py
│ └── custom_tools.py # API integration tools
├── .streamlit/
│ └── secrets.toml # Streamlit secrets (gitignored)
├── app.py # Streamlit web interface
├── main.py # CLI interface
├── requirements.txt # Python dependencies
├── .env # Local environment variables (gitignored)
└── .gitignore …