A Streamlit-based web application that suggests travel itineraries, including places to visit for each day, based on user input for the city and the number of days. The application uses LangChain for orchestrating LLM interactions and leverages Llama3-70B-8192 LLM (provided by Groq) to generate personalized itineraries.
- City Input: Users can enter a city for which they want travel recommendations.
- Days Input: Users can specify the number of days for their trip.
- Dynamic Suggestions: The application generates a list of places to visit each day of the trip based on the input.
- Interactive UI: Built with Streamlit, allowing a smooth and interactive user experience.
- Streamlit: For building the user interface.
- LangChain: To integrate the LLM for generating travel itineraries.
- Llama3-70B-8192 (Groq): A powerful language model used for generating city travel itineraries.
To run this application locally, follow the steps below:
git clone https://github.com/sayan-dg/travel-itinerary-generator.git
cd travel-itinerary-generator
Create a virtual environment (optional but recommended) and install the dependencies:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
pip install -r requirements.txt
If you are using Groq's Llama3-70B-8192 LLM, ensure you have access to their API, and set up your API keys as instructed in the Groq documentation.
Start the application with:
streamlit run app.py
This will open a browser window with the application running locally.
- Open the Streamlit app.
- Enter the city name in the provided text input field.
- Specify the number of days you will spend in the city from the selection box.
- Click "Generate" to receive a list of suggested places to visit for each day of your trip.
- City: Paris
- Days: 5
The app will suggest a list of places to visit each day in Paris, customized based on the duration of the trip.
We welcome contributions! Feel free to fork the repository and submit a pull request. If you find any issues or bugs, please open an issue on GitHub.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.