- Clone the submodules
mkdir stratus-agent
cd stratus-agent
git clone --recurse-submodules [email protected]:xlab-uiuc/Stratus-agent.git- Ensure you are in the Python 3.12 environment.
$ python --version
Python 3.12.xPython 3.12.9 tested.
- Install dependencies
pip install uv crewai crewai-tools
crewai installcrewai install will create the virtual environment in the .venv directory.
You can use source .venv/bin/activate to activate the virtual environment.
- Create a
.envbased on.env.tmplby running:
cp .env.tmpl .envUpdate the values here to switch LLM backends.
- Connect to Kubernetes cluster If you are testing in AIOpsLab, please follow this guide.
If you are testing in ITBench, please follow this guide.
- (Optional if testing ITBench) Copy and modify
config.ymlfile
cd AIOpsLab/aiopslab
cp config.yml.example config.yml
# Then modify the copied file as you need.- Modify
.envfor respective bench In the.envfile, modify the environment variableBENCHMARKto eitherITBenchorAIOpsLabaccording to your need, such as :
BENCHMARK="AIOpsLab"- Test installation For testing the agent on one task of AIOpsLab, run this:
bash test_agent.sh -r <x86/arm> <task_name>For testing the agent on ITBench, make sure you have deployed the SRE scenario you want to test, then run this:
bash test_agent.sh -p- Running evaluations We currently support running multiple tasks on AIOpsLab in one command.
First, open eval/eval_tasks.yaml. You should see similar file content like this:
detections:
- misconfig_app_hotel_res-detection-1
mitigations:
- k8s_target_port-misconfig-mitigation-1Modify the tasks according to your evaluation needs. If for certain task type, you have no desired tasks, delete the key in the yaml file, such as:
mitigations:
- k8s_target_port-misconfig-mitigation-1Then, run the eval script.
python eval/eval.py