# krishnatiwari005/datapilot-ai architecture

> Architecture diagram of the GitHub repository krishnatiwari005/datapilot-ai, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/krishnatiwari005/datapilot-ai
- Repository: https://github.com/krishnatiwari005/datapilot-ai

## Overview

DataPilot AI is an Agno-based, multi-agent assistant for data-science and machine-learning work. A user request enters through the AgentOS application layer and is coordinated by the Data Science Team, which delegates to specialist agents for CSV loading, dataframe exploration, visualization, coding, file management, and execution. The documented workflow extends through cleaning, feature engineering, model training, and evaluation, with user review before generated code is saved and run. Agent definitions and wiring are in app.py; unsampled implementation details are represented only where README or sampled instructions support them.

Main entry points: [`app.py`](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py) (Data Science Team), [`data/car_details.csv`](https://github.com/krishnatiwari005/datapilot-ai/blob/main/data/car_details.csv) (Sample CSV)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Application interface"]
  node_agentos["AgentOS / API<br/>[app.py]"]
end

subgraph group_coordination["Agent coordination"]
  node_team["Data Science Team<br/>[app.py]"]
  node_loader["Data Loader Agent<br/>[app.py]"]
  node_filemanager["File Manager Agent<br/>[app.py]"]
  node_understanding["Data Understanding Agent<br/>[app.py]"]
  node_visualization["Visualization Agent<br/>[app.py]"]
  node_coding["Coding Agent<br/>[app.py]"]
  node_shell["Shell Agent<br/>[app.py]"]
end

subgraph group_analysis["Data science workflow"]
  node_csv["CSV tools<br/>[app.py]"]
  node_dataframe["Dataframe operations<br/>[app.py]"]
  node_plots["Visualization tools<br/>[app.py]"]
  node_mlworkflow["ML code workflow<br/>[app.py]"]
end

subgraph group_runtime["Project runtime"]
  node_projectfiles["Project files"]
  node_sampledata["Sample CSV<br/>[car_details.csv]"]
  node_execution["Python execution<br/>[app.py]"]
  node_search["Technical web search<br/>[app.py]"]
  node_sessiondb[("SQLite session memory<br/>[app.py]")]
end

node_user(("User"))
node_groq["Groq model service"]

node_user -->|"sends request"| node_agentos
node_agentos -->|"serves team"| node_team
node_team -->|"delegates loading"| node_loader
node_team -->|"delegates files"| node_filemanager
node_team -->|"delegates analysis"| node_understanding
node_team -->|"delegates plots"| node_visualization
node_team -->|"delegates coding"| node_coding
node_team -->|"delegates execution"| node_shell
node_loader -->|"uses tools"| node_csv
node_csv -->|"reads CSV"| node_sampledata
node_loader -->|"searches files"| node_projectfiles
node_filemanager -->|"manages files"| node_projectfiles
node_understanding -->|"calls operations"| node_dataframe
node_dataframe -->|"loads CSV"| node_sampledata
node_visualization -->|"inspects data"| node_dataframe
node_visualization -->|"creates plots"| node_plots
node_visualization -->|"uses files"| node_projectfiles
node_coding -->|"develops pipeline"| node_mlworkflow
node_coding -.->|"researches"| node_search
node_coding -->|"uses Python tools"| node_execution
node_coding -->|"requests code review"| node_user
node_shell -->|"runs project code"| node_execution
node_shell -->|"inspects files"| node_projectfiles
node_team -->|"stores session context"| node_sessiondb
node_loader -->|"uses memory"| node_sessiondb
node_understanding -->|"uses memory"| node_sessiondb
node_visualization -->|"uses memory"| node_sessiondb
node_coding -->|"uses memory"| node_sessiondb
node_shell -->|"uses memory"| node_sessiondb
node_team -->|"uses model"| node_groq
node_loader -->|"uses model"| node_groq
node_understanding -->|"uses model"| node_groq
node_visualization -->|"uses model"| node_groq
node_coding -->|"uses model"| node_groq
node_shell -->|"uses model"| node_groq

click node_agentos "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_team "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_loader "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_filemanager "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_understanding "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_visualization "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_coding "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_shell "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_csv "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_dataframe "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_plots "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_mlworkflow "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_sampledata "https://github.com/krishnatiwari005/datapilot-ai/blob/main/data/car_details.csv"
click node_execution "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_search "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"
click node_sessiondb "https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_agentos,node_user toneBlue
class node_team,node_loader,node_filemanager,node_understanding,node_visualization,node_coding,node_shell toneAmber
class node_csv,node_dataframe,node_plots,node_mlworkflow toneMint
class node_projectfiles,node_sampledata,node_execution,node_search,node_sessiondb toneRose
class node_groq toneIndigo
```

## Components

### Application interface

- [AgentOS / API](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`

### Agent coordination

- [Data Science Team](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Data Loader Agent](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [File Manager Agent](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Data Understanding Agent](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Visualization Agent](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Coding Agent](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Shell Agent](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`

### Data science workflow

- [CSV tools](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Dataframe operations](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Visualization tools](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [ML code workflow](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`

### Project runtime

- **Project files**
- [Sample CSV](https://github.com/krishnatiwari005/datapilot-ai/blob/main/data/car_details.csv): `data/car_details.csv`
- [Python execution](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [Technical web search](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`
- [SQLite session memory](https://github.com/krishnatiwari005/datapilot-ai/blob/main/app.py): `app.py`

### Other components

- **User**
- **Groq model service**

## Connections

- User → AgentOS / API: sends request
- AgentOS / API → Data Science Team: serves team
- Data Science Team → Data Loader Agent: delegates loading
- Data Science Team → File Manager Agent: delegates files
- Data Science Team → Data Understanding Agent: delegates analysis
- Data Science Team → Visualization Agent: delegates plots
- Data Science Team → Coding Agent: delegates coding
- Data Science Team → Shell Agent: delegates execution
- Data Loader Agent → CSV tools: uses tools
- CSV tools → Sample CSV: reads CSV
- Data Loader Agent → Project files: searches files
- File Manager Agent → Project files: manages files
- Data Understanding Agent → Dataframe operations: calls operations
- Dataframe operations → Sample CSV: loads CSV
- Visualization Agent → Dataframe operations: inspects data
- Visualization Agent → Visualization tools: creates plots
- Visualization Agent → Project files: uses files
- Coding Agent → ML code workflow: develops pipeline
- Coding Agent → Technical web search: researches
- Coding Agent → Python execution: uses Python tools
- Coding Agent → User: requests code review
- Shell Agent → Python execution: runs project code
- Shell Agent → Project files: inspects files
- Data Science Team → SQLite session memory: stores session context
- Data Loader Agent → SQLite session memory: uses memory
- Data Understanding Agent → SQLite session memory: uses memory
- Visualization Agent → SQLite session memory: uses memory
- Coding Agent → SQLite session memory: uses memory
- Shell Agent → SQLite session memory: uses memory
- Data Science Team → Groq model service: uses model
- Data Loader Agent → Groq model service: uses model
- Data Understanding Agent → Groq model service: uses model
- Visualization Agent → Groq model service: uses model
- Coding Agent → Groq model service: uses model
- Shell Agent → Groq model service: uses model
