https://github.com/rahulsamant37/trip_planner-using_crewai
Trip Planner leverages the CrewAI framework to automate and enhance the trip planning experience, integrating a CLI, FASTAPI, and a user-friendly Streamlit interface.
https://github.com/rahulsamant37/trip_planner-using_crewai
automation browserless crewai fastapi google-api python serperapi streamlit
Last synced: 5 months ago
JSON representation
Trip Planner leverages the CrewAI framework to automate and enhance the trip planning experience, integrating a CLI, FASTAPI, and a user-friendly Streamlit interface.
- Host: GitHub
- URL: https://github.com/rahulsamant37/trip_planner-using_crewai
- Owner: rahulsamant37
- License: mit
- Created: 2025-05-18T19:28:39.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-05-18T19:50:29.000Z (10 months ago)
- Last Synced: 2025-05-26T05:27:56.989Z (10 months ago)
- Topics: automation, browserless, crewai, fastapi, google-api, python, serperapi, streamlit
- Language: Python
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# 🏖️ Trip Planner: Streamlit with CrewAI

## Introduction
Trip Planner leverages the CrewAI framework to automate and enhance the trip planning experience, integrating a CLI, FASTAPI, and a user-friendly Streamlit interface.
## CrewAI Framework
CrewAI simplifies the orchestration of role-playing AI agents. In VacAIgent, these agents collaboratively decide on cities and craft a complete itinerary for your trip based on specified preferences, all accessible via a streamlined Streamlit user interface.
### Flow Diagram

## Running the Application
To experience the VacAIgent app:
- **Configure Environment**: Set up the environment variables for [Browseless](https://www.browserless.io/), [Serper](https://serper.dev/), and [OpenAI](https://openai.com/). Use the `secrets.example` as a guide to add your keys then move that file (`secrets.toml`) to `.streamlit/secrets.toml`.
- **Install Dependencies**: Execute `pip install -r requirements.txt` in your terminal.
- **Launch the CLI Mode**: Run `python cli_app.py -o "Bangalore, India" -d "Krabi, Thailand" -s 2024-05-01 -e 2024-05-10 -i "2 adults who love swimming, dancing, hiking, shopping, food, water sports adventures, rock climbing"` to start the CLI Mode.
- **Launch the FASTAPI**: Run `uvicorn api_app:app --reload` to start the FASTAPI server.
- **Launch the Streamlit App**: Run `streamlit run streamlit_app.py` to start the Streamlit interface.
★ **Disclaimer**: The application uses GEMINI by default. Ensure you have access to GEMINI's API and be aware of the associated costs.
## Details & Explanation
- **Streamlit UI**: The Streamlit interface is implemented in `streamlit_app.py`, where users can input their trip details.
- **Components**:
- `./trip_tasks.py`: Contains task prompts for the agents.
- `./trip_agents.py`: Manages the creation of agents.
- `./tools directory`: Houses tool classes used by agents.
- `./streamlit_app.py`: The heart of the Streamlit app.
## Using LLM Models
To switch LLMs from differnet Providers
```python
class TripAgents():
def __init__(self, llm: BaseChatModel = None):
if llm is None:
#self.llm = LLM(model="groq/deepseek-r1-distill-llama-70b")
self.llm = LLM(model="gemini/gemini-2.0-flash")
else:
self.llm = llm
```
[Connect to LLMs](https://docs.crewai.com/how-to/llm-connections#connect-crewai-to-llms)
### Integrating Ollama with CrewAI
Pass the Ollama model to agents in the CrewAI framework:
```python
agent = Agent(
role='Local AI Expert',
goal='Process information using a local model',
backstory="An AI assistant running on local hardware.",
llm=LLM(model="ollama/llama3.2", base_url="http://localhost:11434")
)
```
## License
Trip Planner is open-sourced under the MIT License.