|
--- |
|
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): |
|
|
|
[](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 |