Skip to content

A Travel Itinerary Generator backed by multiple intelligent agents

License

Notifications You must be signed in to change notification settings

taimurshaikh/TravelForgeAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TravelForge ✈️⚒️

TravelForge is an AI-powered travel itinerary generator designed to create personalized travel plans tailored to your unique preferences. TravelForge leverages multi-agent workflows to streamline the travel planning process, ensuring you get a customized and enjoyable travel experience.

🤖 Agents Overview

We use the LangGraph Library to design our agentic workflow. The following agents work together to create a seamless and personalized travel itinerary:

  1. Researcer: Gathers information about destinations, attractions, accommodations, and more.
  2. Recommender: Suggests activities and accommodations options based on user preferences and interests upon recieving the research results.
  3. Itinerary Generator: Creates a detailed itinerary based on the user's preferences and the recommendations provided by the Recommender.
  4. Itinerary Formatter: Formats the API's response for presentation and delivery to the user.
  5. (WIP) Feedback Agent: Collects user feedback on the itinerary and makes adjustments based on the feedback.
  6. (WIP) Mapper: Generates an interactive map of all the sites and activities in the itinerary for the user to explore.

🎥 Demo

https://www.loom.com/share/bd4506ed6f394c45886ec034a04c2cda?sid=94765c4d-fd73-4c63-b33e-5993d3b4f613

🌟 Features

  • Personalized Itineraries: Create travel plans that align with your interests and preferences.
  • Comprehensive Planning: Includes details on attractions, accommodations, dining, and activities.
  • Engaging Design: Enjoy a visually appealing and well-organized itinerary layout with expandable cards.
  • Quality Assurance: Iterative feedback and refinement ensure a satisfying travel plan.
  • User-Friendly Interface: Easy-to-use platform for setting preferences and generating itineraries.

🛠️ How It Works

  1. Setting Preferences: Users input their travel interests, preferred destinations, and travel dates.
  2. Automated Curation: The Research Agent gathers information on destinations, attractions, accommodations, and activities.
  3. Itinerary Creation: The Recommender Agent suggests activities and accommodations based on user preferences, and the Itinerary Generator creates a detailed itinerary.
  4. Delivery: The Itinerary Formatter formats the itinerary for presentation and delivery to the user.

🗂️ Installation

You will need API keys from both Tavily and OpenAI to run the app. You can sign up for a free account on their respective websites to get your API keys.

  1. Clone the repo
    git clone https://github.com/taimurshaikh/travelforge.git
  2. Export your API Keys
    export TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>
    export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
    ...OR add them to an .env file in the root directory
     TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>
     OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
  3. Install required packages for both the frontend and backend
    cd frontend
    npm install
    cd ../backend
    python -m venv venv && source venv/bin/activate
    pip install -r requirements.txt
  4. The simplest way to start the app is to run the shell script in the root directory. First, ensure the script is executable:
    chmod +x startup-script.sh
    Then run the script:
    ./startup-script.sh
  5. The app should now be running on http://localhost:5173.
  6. Start planning your next adventure ✈️ ✈️ ✈️! Note: You should exit the app by pressing Ctrl+D in the terminal to stop the server and kill both frontend and backend tasks.

🛣️ Roadmap

Checklist of features and functionalities that are planned for future releases. These will be turned into GitHub milestones in the future.

  • Docker Support: Finish dockerizing the application for easy deployment and scaling.
  • Feedback Agent: Collect user feedback on the itinerary and make adjustments based on the feedback.
  • Mapper: Generate an interactive map of all the sites and activities in the itinerary for the user to explore.
  • Multi-User Support: Allow multiple users to create and manage their travel itineraries.
  • Collaborative Planning: Enable users to share and collaborate on travel plans with friends and family.
  • Mobile App: Look into developing a mobile app version of TravelForge for on-the-go travel planning.

❗Known Issues

These will be migrated to the issues tab in the future.

  • Docker Support: Docker support is still a work in progress. There is an open bug with the frontend Dockerfile not including the packages for building to all targets (see this issue)that needs to be resolved.
  • Accomodation Images: The current algorithm for matching the images returned by the Researcher's Tavily Request to the accomodations is a heuristic, and sometimes leads to incorrect images being displayed for a given accomodation.
  • Days with No Activities: Depending on the OpenAI call, there may be days where no activities are suggested. This is a known issue and will be addressed in future releases.

🤝 Contributing

Contributing could be as simple as opening an issue to report a bug or request a new feature. If you would like to contribute to the codebase, please make a fork and open a pull request with your changes. We would love to see your contributions! As the project scales, we will be adding more detailed contribution guidelines.

📩 Contact Us

For support or inquiries, please reach out to us:

Join us in revolutionizing the travel planning experience with TravelForge!

🙏 Sources and Acknowledgements

Tavily OpenAI LangGraph LangChain

We would like to sincerely thank the team at Tavily for providing inspiration for this project as part of their take-home challenge.

About

A Travel Itinerary Generator backed by multiple intelligent agents

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published