Voyager is a multi-agent travel assistant built using the Google Agent Development Kit (ADK). It helps users plan, book, and manage trips using specialized AI agents for each task—such as flight tracking, itinerary creation, hotel search, and travel inspiration.
- 🧭 Trip Advisor Agent: Discover vacation ideas, destination recommendations, and activities.
- 🗺️ Planning Agent: Build day-wise personalized itineraries and generate stylish HTML travel guides.
- 🏨 Hotel Agent: Search hotels and select rooms with ease.
- 🛫 Flight Agent: Search and track real-time flights using Google Search.
- 💳 Booking Agent: Handle booking finalization and secure payment flows.
- 📄 Travel Guide Designer: Converts itineraries into modern travel web pages (HTML format).
- 🔐 Modular & composable using Google ADK's
Agent,Tool, andFunctionToolAPIs.
The Root Agent routes user requests to appropriate sub-agents based on intent:
| User Intent | Delegated To |
|---|---|
| Vacation inspiration, ideas | trip_advisor_agent |
| Trip planning or itinerary help | planning_agent |
| Create customized travel webpage | travel_guide |
| Flight booking, seat selection | flight_agent |
| Hotels, Airbnb, accommodations | hotel_agent |
| Booking confirmation, payments | booking_agent |
- Name:
trip_advisor_agent - Description: Suggests destinations, things to do, and local experiences.
- Sub-Agents:
place_agent: Recommends destinations based on preferencesexplorer_agent: Suggests POIs and activities
- Name:
planning_agent - Description: Plans full trips including flights, hotels, and itinerary.
- Tools:
flight_agent,hotel_agent,itinerary_agenttravel_guide_designer_agent,create_travel_websitememorize,save_itinerary_artifact
- Name:
itinerary_agent - Description: Generates a structured JSON representation of a trip plan.
- Output Schema:
types.Itinerary
- Name:
flight_agent - Description: Searches and tracks flights using Google Search.
- Tools:
google_search
- Name:
hotel_agent - Description: Searches for hotels and helps with room selection.
- Output Schema:
types.HotelsSelection
- Name:
booking_agent - Description: Finalizes bookings by interacting with payment sub-agents.
- Sub-Agents:
payment_choice: Shows available payment methodsprocess_payment: Processes the chosen method
- Name:
travel_guide_designer_agent - Description: Creates and saves a modern HTML file from the itinerary.
- Output Key:
itinerary_design_html - File Output:
/voyager_travel_agent/data/generated_itinerary.html
- Framework: Google Agent Development Kit (ADK)
- Model: Gemini 2.0 Flash
- Architecture: Multi-agent orchestration with tool delegation
- Tooling: Google Search, File I/O, Artifact Storage, Custom HTML generators
-
Clone the repository:
git clone https://github.com/GouthamVicky/google_adk_multiagent cd google_adk_multiagent -
Set up Google Cloud credentials:
Otherwise:
- Set the following environment variables.
- To use Vertex, make sure you have the Vertex AI API enabled in your project.
# Choose Model Backend: 0 -> ML Dev, 1 -> Vertex GOOGLE_GENAI_USE_VERTEXAI=1 # ML Dev backend config, when GOOGLE_GENAI_USE_VERTEXAI=0, ignore if using Vertex. # GOOGLE_API_KEY=YOUR_VALUE_HERE # Vertex backend config GOOGLE_CLOUD_PROJECT=__YOUR_CLOUD_PROJECT_ID__ GOOGLE_CLOUD_LOCATION=us-central1 # Places API GOOGLE_PLACES_API_KEY=__YOUR_API_KEY_HERE__ # Sample Scenario Path - Default is an empty itinerary # This will be loaded upon first user interaction. # # Uncomment one of the two, or create your own. # # TRAVEL_CONCIERGE_SCENARIO=eval/itinerary_seattle_example.json TRAVEL_CONCIERGE_SCENARIO=eval/itinerary_empty_default.json -
Authenticate your GCloud account.
gcloud auth application-default login
-
Install requirements from requirements.txt file
pip install -r requirements.txt
# Under the voyager-travel-agent directory:
adk webYou can view a sample output generated by the agent here:
➡️ View Sample Tokyo Itinerary
➡️ View Sample Paris Itinerary
Instead of interacting with the concierge one turn at time. Try giving it the entire instruction, including decision making criteria, and watch it work, e.g.
Plan a trip to Japan on this year august month. Pick any flights and any seats; also Any hotels and room type. Make sure you pick seats for both flights. Go ahead and act on my behalf without my input, until you have selected everything, confirm with me before generating an itinerary.Here is a walkthrough video of the project:
[Watch the video](https://www.loom.com/share/dce4778409b44eb6a2b339fe5aaadc43?sid=9c25b1dc-6a2e-4b92-bea5-d4654605dcc7)
-
Integration of Model Context Protocol (MCP) Server Support We aim to enhance our system by integrating support for the Model Context Protocol (MCP). MCP is an open standard that enables secure, two-way connections between AI models and external data sources or tools. By implementing MCP server support, our agents will be able to dynamically discover and utilize various tools and resources, facilitating more efficient and context-aware interactions. Reference - Model Context Protocol
-
Development of an Agent-to-Agent (A2A) Communication Protocol To enable seamless collaboration among multiple agents, we plan to develop an Agent-to-Agent (A2A) communication protocol. This protocol will allow agents to discover each other's capabilities, exchange information, and collaborate on tasks, regardless of their underlying frameworks or vendors. By establishing a standardized communication framework, we aim to enhance interoperability and enable more complex multi-agent workflows. Reference - Agents to agents communnication