Autonomous Data Scientist (ADaS): GPU-Accelerated, LLM-Enabled Interface for Anomaly Detection at Scale
This project (ADaS 2.0) is an LLM-guided analytic system that interprets user queries, performs accelerated data processing to detect network anomalies, and delivers context-aware, actionable results for SOC analysts. It is an extension to our previous project (ADaS 1.0) that aims to integrate unsupervised clustering algorithms, automated feature selection, and reinforcement learning into an autonomous agent with the ability to detect anomalous behavior in network traffic.
For a detailed abstract, team member roles, and a link to our document repository, please refer to the ADaS 2.0 Project Wiki
For our previous project, please refer to the ADaS 1.0 Project Wiki
For detailed instructions on setting up and running the GPU-accelerated version of ADaS (including CUDA, RAPIDS, and GPU monitoring), please refer to the GPU Version README and pivot from the main branch to the gpu-final branch.
This guide walks through how to run an end-to-end demo of the ADaS capstone system, including starting the backend and frontend, configuring environment variables, and performing a live anomaly-detection query on a CSV dataset.
- Python 3.10 or later
- Node.js 18 or later
- npm
- OpenAI API key
Create a file at backend/.env with the following contents:
OPENAI_API_KEY=[key redacted] OPENAI_MODEL=gpt-5-mini
From the project root:
pip install -r backend/requirements.txt
Run the following command:
uvicorn backend.main:app --reload --port 8000 --host 0.0.0.0
The backend will start on port 8000.
If running in GitHub Codespaces:
- Open the Ports tab
- Locate port 8000
- Set visibility to Public
Create a file at frontend/.env.local with the following contents:
NEXT_PUBLIC_API_BASE_URL="https://secret-shadow-jwr97g6vxrq3pg7q-8000.app.github.dev"
Replace the URL with your own public Codespaces backend URL if different.
Run
cd frontend
npm i
npm run dev
Open the frontend URL shown in the terminal.
In the frontend UI, upload a CSV dataset.
Example dataset used in the demo:
/workspaces/adas_capstone_2025/data/capstone-data/sampled_zeek22_100.csv
When prompted, enter the following field mappings:
- source_ip:
src_ip_zeek - uid (optional):
uid - time (optional):
datetime
Example prompt used in the demo:
What are the top 2 anomalies? Explain.
The frontend will display the anomaly results and explanation returned by the backend.
Downloaded Feature Explanation:

Downloaded results saved in CSV:

-
Frontend cannot reach backend
- Ensure port 8000 is public
- Verify
NEXT_PUBLIC_API_BASE_URLpoints to the backend public URL
-
OpenAI API errors
- Confirm
backend/.envexists - Verify
OPENAI_API_KEYis set correctly
- Confirm
-
Port mismatch
- Ensure backend port, Codespaces port, and frontend base URL all match



