Giter VIP home page Giter VIP logo

gptravel's Introduction

GPTravel ✈️

python Tests GitHub Tags Code style: black Streamlit License: MIT

GPTravel is a Web App that generates a travel plan based on Large-Language Models (LLMs). It helps users create personalized itineraries giving the best destinations, activities, and routes.

Idea 💡

Our goal is to build an AI-powered travel assistant that could help people on planning their trips. We understand that planning a trip can be overwhelming, with countless options for destinations, activities, and prices. GPTravel aims to simplify this process by providing users with personalized recommendations and insights.

By leveraging GPT models, GPTravel generates customized itineraries tailored to each user's specific travel needs and preferences. Whether it's a weekend getaway or a month-long adventure, GPTravel aims to assist users at every step of their travel planning journey.

The AI travel assistant that we aim to build would provide recommendations for destinations, attractions, accommodations, transportation options, and even estimated budgets. It takes into account factors such as travel duration, budget constraints, travel interests, and any specific preferences or requirements provided by the user. GPTravel aims to make trip planning more efficient, enjoyable, and stress-free by offering intelligent suggestions and insights.

At this moment we prepared a prototype on a Streamlit app with few of these functionalities. The future work will be focused on adding to the app a more strong and reliable travel assistant.

Installation ⚙️

This project uses the package manager poetry. To install poetry then run

pip install poetry 

After installing poetry then you must config the following flag

poetry config virtualenvs.in-project true

To intall the dependendencies then run the command

poetry install

To activate the virtual environment then run

poetry shell

Usage 🚀

Our prototype application is available on Streamlit Cloud; you will only need an OpenAI API key and a willingness to travel.

To run the GPTravel web app on your local machine, use the following command:

streamlit run Home.py

This will start the GPTravel app using Streamlit. You can then access the web app through your browser.

Next Steps 🌟

Here are some suggested next steps to enhance GPTravel:

  • Implement a user interface (different from Streamlit) for the web app to provide a seamless experience for users when generating travel plans.
  • Enhance the recommendation algorithm to consider user preferences, such as budget constraints, travel interests, and accommodation preferences.
  • Integrate with external APIs to fetch real-time data on flights options, weather conditions and tourist attractions tickets.
  • Implement user authentication and user profile management to allow users to save and revisit their travel plans.
  • Enable social sharing features to allow users to share their travel plans with friends and family.

Contributions are welcome! Feel free to explore the GitHub repository and submit pull requests or open issues to contribute to the development of GPTravel.

License 📄

This project is licensed under the MIT License.

Authors ✍️

GPTravel is developed and maintained by:

gptravel's People

Contributors

robertocorti avatar stefano-polo avatar

Stargazers

mason avatar Giovanni Santacatterina avatar Nurul B. Ibrahim avatar  avatar Abhishek Parolkar avatar  avatar  avatar Sridhar avatar Christian Hochfilzer avatar Vinay Chaudhari avatar  avatar  avatar hello avatar BLK LUV [org] avatar

Watchers

Kostas Georgiou avatar  avatar

gptravel's Issues

Implementing LLM Engine for Completing Travel Plan

Current Behavior:

Currently, the filter engine in our travel planning system is deleting some days from the travel plan, which may result in an incomplete itinerary for the users.

Expected Behavior:

We need to implement a new engine that calls the Large Language Model (LLM) to complete the travel plan automatically. The goal is to ensure that the final itinerary matches the number of days required by the user, even if some days were removed by the filter engine.

Fix Security Alerts

Fix security alerts:

  • Upgrade aiohttp to version 3.8.5 or later.
  • Upgrade cryptography to version 41.0.2 or later.

Implementing Prototype Engine for Proxy Price Calculation of Travel Plan

Objective:

The goal of this issue is to develop a prototype engine that calculates a proxy price for the travel plan generated by the LLM. The calculated price should primarily consider flight and accommodation costs. The engine should use a unified API for obtaining hotel and flight prices, starting with TripAdvisor as the initial choice. The ultimate target is to fetch flight prices from Skyscanner and hotel prices from Booking.com and Airbnb. Additionally, the prototype should display links to the selected flights and hotels on the frontend of the travel plan.

Features to Implement:

  • Proxy Price Calculation: Develop a mechanism within the engine that computes an estimated cost for the travel plan based on the flight and accommodation expenses.

  • Unified API Integration: Initially, integrate the engine with the TripAdvisor API to retrieve hotel and flight prices. The engine should be designed with flexibility to later incorporate Skyscanner API for flights and Booking.com and Airbnb APIs for hotels.

  • Flight Price Retrieval: Implement functionality to fetch flight prices from the appropriate API (e.g., Skyscanner) based on the user's specified travel dates and destinations.

  • Hotel Price Retrieval: Implement functionality to retrieve hotel prices from the selected API(s) (e.g., Booking.com and Airbnb) based on the user's desired accommodation options.

  • Frontend Link Generation: Ensure that the prototype generates relevant links to the chosen flights and hotels on the travel plan frontend. These links will provide users with direct access to booking options.

Travel activities labeling

Current Status:

Currently, the app displays the labels of travel activities that have a probability greater than 0.5, which is functioning as intended.

Expected Behavior:

However, when a travel activity does not have any label with a probability greater than 0.5, the app should print the argmax label instead to provide more accurate information to the users.

"Not valid OpenAI API Access Key" Error

Hi, I'm trying to test the app on streamlit, but I get always:
"Not valid OpenAI API Access Key"

I tried with both types of OpenAI keys (user and project).
Am I doing something wrong?
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.