A sophisticated travel planning application built using the Agent Development Kit (ADK) framework. This project leverages AI agents to help users discover their dream holiday destinations, get inspiration, find nearby places, and stay updated with travel news and events.
- Travel Inspiration Agent: Helps users identify dream vacation destinations and suggests activities and events.
- News Agent: Provides current travel news and event recommendations using web search.
- Places Agent: Suggests specific locations, hotels, cafes, and points of interest based on user preferences.
- Search Tools: Integrated DuckDuckGo search for web information and OpenStreetMap API for location-based queries.
- AI-Powered: Uses LiteLLM with Ollama's Phi-3 model for intelligent responses.
travel-planner-with-adk/
├── main.py # Main entry point (currently placeholder)
├── pyproject.toml # Project configuration
├── requirements.txt # Python dependencies
├── README.md # This file
├── test/
│ └── testing_model_json_capability.py # Test for model capabilities
└── travel_planner/
├── agent.py # Main travel agent definition
├── supporting_agent.py # Supporting agents (news, places, inspiration)
├── tools.py # Custom tools for search and location
└── tools/ # Additional tools directory (empty)
- Python 3.11 or higher
- Ollama installed and running with the Phi-3 model
-
Clone the repository:
git clone <repository-url> cd travel-planner-with-adk
-
Install dependencies:
pip install -r requirements.txt
-
Set up the Python environment (optional, if using virtualenv):
python -m venv .venv # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate pip install -r requirements.txt
-
Ensure Ollama is running with the required model:
ollama pull yogeshisspl/phi3:latest ollama serve
The project defines AI agents for travel planning. The main components are:
- Root Travel Agent: Orchestrates the travel planning process
- Travel Inspiration Agent: Provides destination and activity suggestions
- News Agent: Fetches travel news and events
- Places Agent: Finds nearby locations and points of interest
To use the agents, you can integrate them into your application by importing from travel_planner.agent and travel_planner.supporting_agent.
Example usage (in Python):
from travel_planner.agent import root_agent
# The agent can be invoked with user queries
# Implementation depends on ADK framework usagegoogle-adk[extensions]>=1.27.5: Azure Developer Kit frameworkduckduckgo-search>=8.1.1: Web search functionalitygeopy>=2.4.1: Geocoding and location serviceslancedb<0.30.0: Vector database for embeddingslitellm: Lightweight LLM interface
The project includes custom tools:
- Duck Search Tool: Performs web searches using DuckDuckGo
- Location Search Tool: Finds nearby places using OpenStreetMap's Overpass API (no API key required)
Run the model capability test:
python test/testing_model_json_capability.py- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project uses free APIs (DuckDuckGo, OpenStreetMap) and may have limitations on usage. Ensure compliance with their terms of service.