A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
AI travel planner with 7 specialized agents, RAG, and tool-calling. Built with CrewAI & LangChain. Generates personalize
An AI travel planning system that combines real-time API data with AI-powered analysis to create personalized travel itineraries. Built with CrewAI, featuring 11 external API integrations and RAG for travel knowledge.
User Request
|
[AI] Travel Planning Manager --- parses request into structured params
|
[API] 4 services fetch in parallel (no AI, pure HTTP)
|--- Flights: Amadeus + SerpApi (fallback)
|--- Accommodation: Booking.com + Airbnb
|--- Activities: Google Places + Viator + Yelp
|--- Logistics: Google Maps + OpenWeatherMap + Currency + Country Info
|
[AI] Travel Knowledge Expert --- RAG for cultural/visa/practical info
|
[AI] Itinerary Compiler --- synthesizes ALL real data into day-by-day plan
|
Final Itinerary (with real prices, real hotels, booking links)
# Clone the project
cd "Multi Agent AI Travel Agent"
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # macOS/Linux
# or: venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Set up environment
cp .env.example .env
# Edit .env and add your API keys
Backend:
uvicorn backend.app:app --host 0.0.0.0 --port 8000 --reload --reload-exclude "venv/*" --reload-exclude "data/*"
Frontend (separate terminal):
cd frontend
npm install
npm run dev
CLI mode (no frontend needed):
python main.py
| Key | Purpose | Get it from |
|---|---|---|
GEMINI_API_KEY | AI agents (needs paid plan) | aistudio.google.com/apikey |
| Key | Purpose | Get it from |
|---|---|---|
AMADEUS_API_KEY + AMADEUS_API_SECRET | Primary flight search | developers.amadeus.com |
SERPAPI_KEY | Fallback flight search | serpapi.com |
| Key | Purpose | Get it from |
|---|---|---|
BOOKING_API_KEY | Hotels (Booking.com via RapidAPI) | rapidapi.com |
AIRBNB_API_KEY | Rentals (Airbnb via RapidAPI) | rapidapi.com |
| Key | Purpose | Get it from |
|---|---|---|
GOOGLE_PLACES_API_KEY | Attractions & restaurants | console.cloud.google.com |
VIATOR_API_KEY | Bookable tours | docs.viator.com |
YELP_API_KEY | Dining (5,000 calls/day free) | yelp.com/developers |
| Key | Purpose | Get it from |
|---|---|---|
GOOGLE_MAPS_API_KEY | Transport routes | console.cloud.google.com |
OPENWEATHER_API_KEY | Weather forecast | openweathermap.org |
| Key | Purpose |
|---|---|
OPENAI_API_KEY | RAG embeddings (only if using knowledge base) |
EXCHANGE_RATE_API_KEY | Currency rates (fallback uses free API without key) |
Services gracefully skip any provider whose key isn't configured.
backend/
├── app.py # FastAPI entry point
├── config/
│ └── settings.py # All API keys & service URLs
├── api/
│ ├── routes.py # REST endpoints
│ └── websocket.py # WebSocket + progress updates
├── services/ # Pure API calls, NO AI
│ ├── flights/
│ │ ├── amadeus.py # Amadeus API (primary)
│ │ ├── serpapi.py # SerpApi Google Flights (fallback)
│ │ └── service.py # FlightService coordinator
│ ├── accommodation/
│ │ ├── booking.py # Booking.com via RapidAPI
│ │ ├── airbnb.py # Airbnb via RapidAPI
│ │ └── service.py # AccommodationService coordinator
│ ├── activities/
│ │ ├── google_places.py # Attractions & restaurants
│ │ ├── viator.py # Bookable tours
│ │ ├── yelp.py # Dining recommendations
│ │ └── service.py # ActivityService coordinator
│ ├── logistics/
│ │ ├── google_maps.py # Directions & routes
│ │ ├── weather.py # OpenWeatherMap
│ │ ├── currency.py # Exchange rates
│ │ ├── country_info.py # REST Countries + Travelbriefing
│ │ └── service.py # LogisticsService coordinator
│ └── knowledge/
│ └── rag.py # ChromaDB RAG
├── agents/ # Only 3 AI agents
│ ├── llm.py # Gemini LLM factory
│ ├── definitions.py # Travel Manager, Knowledge Expert, Compiler
│ ├── tasks.py # Task definitions
│ └── tools.py # CrewAI tool wrapper (RAG only)
├── crew/
│ └── orchestrator.py # Main pipeline
├── models/
│ └── schemas.py # Normalized Pydantic models
frontend/ # React + Vite UI
data/
├── travel_knowledge/ # RAG documents (.txt)
└── chroma_db/ # Vector store (auto-generated)
main.py # CLI entry point
asyncio.gather (flights, hotels, activities, logistics) — pure HTTP, no AIAdd .txt files to data/travel_knowledge/. Delete data/chroma_db/ to force re-indexing. The RAG system automatically indexes new documents on next run.
Your Gemini free tier quota is exhausted. Enable billing at aistudio.google.com or wait for daily reset.
Generate a new key at aistudio.google.com/apikey and update .env.
Run with: uvicorn backend.app:app --reload --reload-exclude "venv/*" --reload-exclude "data/*"
Activate your venv and run: pip install -r requirements.txt
Delete data/chroma_db/ and run again.
MIT License — see LICENSE for details.
💻 A curated list of papers and resources for multi-modal Graphical User Interface (GUI) agents.
An AI-powered custom node for ComfyUI designed to enhance workflow automation and provide intelligent assistance
Deterministic multi-agent pipeline for end-to-end software development, orchestrating CLI-based AI tools (e.g. Gemini, C
Pocket Flow: Codebase to Tutorial