- First, clone the repository.
git clone https://github.com/alckasoc/WeaverOfTasks
- Create a
.env
file in the root directory. Within this.env
file, define yourOPENAI_API_KEY
,KAGGLE_USERNAME
, andKAGGLE_API_KEY
.
- Within your root directory, create a folder called
.kaggle
and create a json filekaggle.json
within that folder.
- Populate the
kaggle.json
like below. Make sure to fill in "username" with yourKAGGLE_USERNAME
and "key" with yourKAGGLE_API_KEY
.
{
"username": "",
"key": ""
}
- Create a
conda
environment following TaskWeaver's environment creation instructions.
conda create -n taskweaver python=3.10
conda activate taskweaver
- Install all TaskWeaver requirements first.
cd TaskWeaver
pip install -r requirements.txt
cd ..
- Update the OpenAI
api_key
withinTaskWeaver/project/taskweaver_config.json
. This is the same asOPENAI_API_KEY
.
- Next, install all requirements relevant to this repository.
pip install -r requirements.txt
Disclaimer: Ensure you have Docker as TaskWeaver will require this to run. Optionally, you can run with local execution with TaskWeaver. Check the docs for more information.
- Download the Kaggle wildfires dataset. For this step, ensure that your
.kaggle/kaggle.json
is correctly configured in theInstallation
section above. Ensure you are in the root directory.
python download.py
The above Python script downloads the dataset from Kaggle and unzips/stores it in the data/
path within the root directory.
- Save the unzipped data (sqlite) as a
.csv
. We will save both the entirewildfires.csv
and a smaller version of itwildfires_lite.csv
which contains only the first 10,000 rows.
python save_csv.py
You will need additional API keys to run the notebooks. Store these in the .env
.
- PandasAI: PANDASAI_API_KEY
- Vanna: VANNA_API_KEY
- OpenWeatherMap: OPENWEATHERMAP_API_KEY
- You.com: YDC_API_KEY
The relevant notebooks are in the order:
data_analysis_agent.ipynb
sql_agent.ipynb
search_agent.ipynb
You can also find the presentation in this repository as Weaver Of Tasks.pdf
.
Presentation Link: https://docs.google.com/presentation/d/1FU1txbtze1f2a99njDfaE8ZCUTXv8s0ASkniDqbi8oA/edit?usp=sharing