ADEA is an AI-driven data engineering platform that can:
- generate SQL pipelines from natural-language prompts
- execute those pipelines in DuckDB
- monitor failures and anomalies
- diagnose root causes
- repair pipelines with a hybrid LLM + fallback strategy
- retry execution automatically
- suggest optimization improvements
- visualize pipeline lineage and live execution flow
This repo contains both:
- the Python backend (
adea/) - the Next.js frontend dashboard (
frontend/)
Backend:
- Python 3.11
- FastAPI
- LangGraph
- DuckDB
- SQLAlchemy
- Pydantic
- Groq SDK
- FAISS
- SQLGlot
Frontend:
- Next.js 14
- React 18
- TypeScript
- Tailwind CSS
- Framer Motion
- React Flow
- Recharts
- SWR
- Zustand
ADEA/
├─ adea/
│ ├─ agents/
│ ├─ api/
│ ├─ app/
│ ├─ database/
│ ├─ interface/
│ ├─ llm/
│ ├─ memory/
│ ├─ monitoring/
│ ├─ orchestration/
│ ├─ pipelines/
│ └─ utils/
├─ frontend/
│ ├─ app/
│ ├─ components/
│ ├─ hooks/
│ ├─ lib/
│ └─ styles/
├─ requirements.txt
├─ run_adea.py
└─ test_pipeline.py
Create and activate a virtual environment, then install backend dependencies:
python -m venv venv
.\venv\Scripts\activate
python -m pip install -r requirements.txtFrom the project root:
cd frontend
C:\nvm4w\nodejs\npm.cmd installCreate a local .env from .env.example.
At minimum, if you want live Groq-backed reasoning instead of fallback behavior:
GROQ_API_KEY=your_key_hereNotes:
.envis ignored by git- if
GROQ_API_KEYis missing or unreachable, ADEA falls back safely to deterministic behavior
If you want PNG/SVG graph rendering, you need both:
- the Python
graphvizpackage - the Graphviz system binary (
dot) available onPATH
Without the system binary, graph generation may fall back to text/DOT artifacts.
Start the FastAPI server:
python -m uvicorn adea.app.main:app --reloadUseful URLs:
- Health check:
http://127.0.0.1:8000/health - API docs:
http://127.0.0.1:8000/docs
In a new terminal:
cd frontend
C:\nvm4w\nodejs\npm.cmd run devOpen:
http://127.0.0.1:3000/dashboard
Run the interactive CLI:
python run_adea.pyRun the dashboard/CLI demo workflow:
python run_adea.py --demoRun the local end-to-end pipeline test:
python test_pipeline.py- Start the backend
- Start the frontend
- Open the dashboard
- Run a pipeline prompt such as:
Build sales analytics pipeline
- Watch:
- live agent execution timeline
- pipeline lineage graph
- execution logs
- optimization suggestions
- pipeline history
ADEA is designed as an LLM-first system with safe fallbacks.
That means:
- when Groq is reachable, agents use LLM reasoning
- when Groq fails or times out, deterministic fallback logic keeps the workflow running
The system stores successful repair experiences and can reuse them for similar failures later.
Some runtime-generated artifacts may appear during local work, such as:
- pipeline graph files
- temporary DuckDB files
- analyzer reports under
frontend/.next/analyze
These should not be committed unless intentionally needed.
Please do not commit:
.envfrontend/node_modulesfrontend/.next- local virtual environments
The repo .gitignore already covers these.
Bundle analyzer:
cd frontend
C:\nvm4w\nodejs\npm.cmd run analyzeAnalyzer reports are generated in:
frontend/.next/analyze/client.htmlfrontend/.next/analyze/nodejs.htmlfrontend/.next/analyze/edge.html
There is also a frontend performance guide here:
Check:
- backend is running on
127.0.0.1:8000 - frontend is running on
127.0.0.1:3000 - CORS was not modified
Check:
GROQ_API_KEYis set in.env- the machine has internet access
- the Groq SDK is installed from
requirements.txt
Check:
- Python
graphvizis installed - Graphviz system binaries are installed
dotis on yourPATH
If you are adding new features:
- keep business logic out of FastAPI routes
- do not change the
PipelineStatestructure casually - keep agent responsibilities isolated
- preserve the LangGraph orchestration flow
The project architecture rules are documented in: