vacaigent / README.md
Benjamin Consolvo
readme updates again
79b5725
---
title: VacAIgent
emoji: 🐨
colorFrom: yellow
colorTo: purple
sdk: streamlit
sdk_version: 1.45.1
app_file: app.py
pinned: false
license: mit
short_description: Let AI agents plan your next vacation!
---
# 🏖️ VacAIgent: Let AI agents plan your next vacation!
VacAIgent leverages the CrewAI agentic framework to automate and enhance the trip planning experience, integrating a user-friendly Streamlit interface. This project demonstrates how autonomous AI agents can collaborate and execute complex tasks efficiently. It takes advantage of the inference endpoint called [Intel® AI for Enterprise Inference](https://github.com/opea-project/Enterprise-Inference) with an OpenAI-compatible API key, hosted on cloud provider [Denvr Dataworks](https://www.denvrdata.com/intel).
_Forked and enhanced from the_ [_crewAI examples repository_](https://github.com/joaomdmoura/crewAI-examples/tree/main/trip_planner). You can find the application hosted on Hugging Face Spaces [here](https://huggingface.co/spaces/Intel/vacaigent):
[![](images/hf_vacaigent.png)](https://huggingface.co/spaces/Intel/vacaigent)
**Check out the video below for code walkthrough** 👇
<a href="https://youtu.be/nKG_kbQUDDE">
<img src="https://img.youtube.com/vi/nKG_kbQUDDE/hqdefault.jpg" alt="Watch the video" width="100%">
</a>
(_Trip example originally developed by [@joaomdmoura](https://x.com/joaomdmoura)_)
## Installing and Using the Application
### Pre-Requisites
1. Get the API key from **scrapinagent.com** from [scrapinagent](https://scrapingant.com/) for HTML web-scraping.
2. Get the API from **SERPER API** from [serper]( https://serper.dev/) for Google Search API.
3. Bring your OpenAI compatible API key
4. Bring your model endpoint URL and LLM model ID
### Installation steps
First, clone the repository:
```sh
git clone https://github.com/opea-project/Enterprise-Inference/
cd examples/vacaigent
```
Then, install the necessary libraries:
```sh
pip install -r requirements.txt
```
Add Streamlit secrets. Create a `.streamlit/secrets.toml` file and update the variables below:
```sh
SERPER_API_KEY="serper-api-key"
SCRAPINGANT_API_KEY="scrapingant_api_key"
OPENAI_API_KEY="openai_api_key"
MODEL_ID="meta-llama/Llama-3.3-70B-Instruct"
MODEL_BASE_URL="https://api.inference.denvrdata.com/v1/"
```
Here we are using the model [meta-llama/Llama-3.3-70B-Instruct](https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct) by default, and the model endpoint is from Denvr Dataworks; but you can bring your own OpenAI-compatible API key, model ID, and model endpoint.
**Note**: You can alternatively add these secrets directly to Hugging Face Spaces Secrets, under the Settings tab, if deploying the Streamlit application directly on Hugging Face.
### Run the application
To run the application locally, execute this command to pull up a Streamlit interface in your web browser:
```sh
streamlit run app.py
```
### Components:
- [trip_tasks.py](trip_tasks.py): Contains task prompts for the agents.
- [trip_agents.py](trip_agents.py): Manages the creation of agents.
- [tools](tools) directory: Houses tool classes used by agents.
- [app.py](app.py): The heart of the frontend Streamlit app.
## Using Local Models with Ollama
For enhanced privacy and customization, you could easily substitute cloud-hosted models with locally-hosted models from [Ollama](https://ollama.com/).
## License
VacAIgent is open-sourced under the MIT license.
### Follow Up
Connect to LLMs on Intel® Gaudi® accelerators with just an endpoint and an OpenAI-compatible API key, courtesy of cloud-provider Denvr Dataworks: https://www.denvrdata.com/intel
Chat with 6K+ fellow developers on the Intel DevHub Discord: https://discord.gg/kfJ3NKEw5t
Connect with me on LinkedIn: https://linkedin.com/in/bconsolvo