# tusharsharmasecurity-coder/rag-agentic-ai architecture

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

- Interactive diagram: https://gitdiagram.com/tusharsharmasecurity-coder/rag-agentic-ai
- Repository: https://github.com/tusharsharmasecurity-coder/rag-agentic-ai

## Overview

This repository implements a logistics-focused AI assistant with a Streamlit interface, an API entry point, and backend capabilities for SQL question answering, document retrieval, analytics, and data upload. The main user path is navigation through the UI to the assistant page and its API client; the SQL engine is a major backend component that validates and runs database queries and can use schema retrieval, memory, model routing, and answer generation. The README is empty, so capability scope comes from the source tree and index; links for unsampled modules are limited to indexed references.

Main entry points: [`src/sql_engine.py`](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/sql_engine.py) (SQL engine), [`app.py`](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/app.py) (Streamlit app), [`ui/upload_page.py`](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/upload_page.py) (Upload center), [`src/database.py`](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/database.py) (Operational database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User interface"]
  node_streamlit["Streamlit app<br/>[app.py]"]
  node_assistant_ui["Assistant page<br/>[assistant_page.py]"]
  node_upload_ui["Upload center<br/>[upload_page.py]"]
  node_admin_ui["Admin dashboard<br/>[admin_dashboard.py]"]
end

subgraph group_orchestration["Request routing"]
  node_api["API entry<br/>[main.py]"]
  node_agent["Agent entry<br/>[agent.py]"]
  node_supervisor["Supervisor<br/>[supervisor.py]"]
  node_model_router["Model routing<br/>[router.py]"]
  node_api_client["API client<br/>[api_client.py]"]
end

subgraph group_query["Question answering"]
  node_sql_engine["SQL engine<br/>[sql_engine.py]"]
  node_schema_retriever["Schema retrieval"]
  node_sql_validator["SQL validation<br/>[sql_validator.py]"]
  node_result_generator["Answer generation"]
end

subgraph group_knowledge["Knowledge and memory"]
  node_rag_agent["RAG agent<br/>[rag_agent.py]"]
  node_knowledge_retriever["Knowledge retrieval<br/>[retriever.py]"]
  node_embedding_manager["Embeddings"]
  node_memory_manager["SQL memory<br/>[memory_manager.py]"]
  node_vector_memory["Vector memory<br/>[vector_memory.py]"]
end

subgraph group_data["Data and analytics"]
  node_database[("Operational database<br/>[database.py]")]
  node_dataframe_agent["Dataframe analysis<br/>[dataframe_agent.py]"]
  node_excel_importer["Excel import<br/>[excel_importer.py]"]
  node_schema_validator["Upload validation"]
end

node_user(("User"))
node_llm_service{{"Model service"}}

node_user -->|"uses"| node_streamlit
node_streamlit -->|"routes to"| node_assistant_ui
node_streamlit -->|"routes to"| node_upload_ui
node_streamlit -->|"routes to"| node_admin_ui
node_assistant_ui -->|"uses"| node_api_client
node_assistant_ui -->|"uses"| node_database
node_upload_ui -->|"uses"| node_database
node_upload_ui -->|"imports"| node_excel_importer
node_upload_ui -->|"validates with"| node_schema_validator
node_api -->|"imports"| node_agent
node_supervisor -->|"dispatches to"| node_rag_agent
node_supervisor -->|"dispatches to"| node_dataframe_agent
node_supervisor -.->|"dispatches to"| node_sql_engine
node_rag_agent -->|"retrieves from"| node_knowledge_retriever
node_knowledge_retriever -->|"embeds with"| node_embedding_manager
node_knowledge_retriever -->|"expands query via"| node_model_router
node_sql_engine -->|"retrieves schema"| node_schema_retriever
node_sql_engine -->|"validates SQL"| node_sql_validator
node_sql_engine -->|"executes SQL"| node_database
node_sql_engine -->|"searches and saves"| node_memory_manager
node_sql_engine -->|"generates answer"| node_result_generator
node_sql_engine -->|"requests SQL"| node_model_router
node_memory_manager -->|"searches and adds"| node_vector_memory
node_memory_manager -->|"reads and writes"| node_database
node_model_router -.->|"routes requests"| node_llm_service

click node_streamlit "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/app.py"
click node_assistant_ui "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/assistant_page.py"
click node_upload_ui "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/upload_page.py"
click node_admin_ui "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/admin_dashboard.py"
click node_api "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/api/main.py"
click node_agent "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/agent.py"
click node_supervisor "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/supervisor/supervisor.py"
click node_sql_engine "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/sql_engine.py"
click node_schema_retriever "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/schema/schema_retriever.py"
click node_sql_validator "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/sql_validator.py"
click node_database "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/database.py"
click node_result_generator "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/result_generator.py"
click node_model_router "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/models/router.py"
click node_rag_agent "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/agents/rag_agent.py"
click node_knowledge_retriever "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/knowledge/retriever.py"
click node_embedding_manager "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/memory/embedding_manager.py"
click node_memory_manager "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/memory/memory_manager.py"
click node_vector_memory "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/memory/vector_memory.py"
click node_dataframe_agent "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/analytics/dataframe_agent.py"
click node_excel_importer "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/excel_importer.py"
click node_schema_validator "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/schema_validator.py"
click node_api_client "https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/api_client.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_streamlit,node_assistant_ui,node_upload_ui,node_admin_ui,node_user toneBlue
class node_api,node_agent,node_supervisor,node_model_router,node_api_client toneAmber
class node_sql_engine,node_schema_retriever,node_sql_validator,node_result_generator toneMint
class node_rag_agent,node_knowledge_retriever,node_embedding_manager,node_memory_manager,node_vector_memory toneRose
class node_database,node_dataframe_agent,node_excel_importer,node_schema_validator,node_llm_service toneIndigo
```

## Components

### User interface

- [Streamlit app](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/app.py): `app.py`
- [Assistant page](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/assistant_page.py): `ui/assistant_page.py`
- [Upload center](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/upload_page.py): `ui/upload_page.py`
- [Admin dashboard](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/ui/admin_dashboard.py): `ui/admin_dashboard.py`

### Request routing

- [API entry](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/api/main.py): `api/main.py`
- [Agent entry](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/agent.py): `src/agent.py`
- [Supervisor](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/supervisor/supervisor.py): `src/supervisor/supervisor.py`
- [Model routing](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/models/router.py): `src/models/router.py`
- [API client](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/api_client.py): `src/api_client.py`

### Question answering

- [SQL engine](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/sql_engine.py): `src/sql_engine.py`
- [Schema retrieval](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/schema/schema_retriever.py): `src/schema/schema_retriever.py`
- [SQL validation](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/sql_validator.py): `src/sql_validator.py`
- [Answer generation](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/result_generator.py): `src/result_generator.py`

### Knowledge and memory

- [RAG agent](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/agents/rag_agent.py): `src/agents/rag_agent.py`
- [Knowledge retrieval](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/knowledge/retriever.py): `src/knowledge/retriever.py`
- [Embeddings](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/memory/embedding_manager.py): `src/memory/embedding_manager.py`
- [SQL memory](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/memory/memory_manager.py): `src/memory/memory_manager.py`
- [Vector memory](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/memory/vector_memory.py): `src/memory/vector_memory.py`

### Data and analytics

- [Operational database](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/database.py): `src/database.py`
- [Dataframe analysis](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/analytics/dataframe_agent.py): `src/analytics/dataframe_agent.py`
- [Excel import](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/excel_importer.py): `src/excel_importer.py`
- [Upload validation](https://github.com/tusharsharmasecurity-coder/rag-agentic-ai/blob/main/src/schema_validator.py): `src/schema_validator.py`

### Other components

- **User**
- **Model service**

## Connections

- User → Streamlit app: uses
- Streamlit app → Assistant page: routes to (evidence: `app.py`)
- Streamlit app → Upload center: routes to (evidence: `app.py`)
- Streamlit app → Admin dashboard: routes to (evidence: `app.py`)
- Assistant page → API client: uses (evidence: `ui/assistant_page.py`)
- Assistant page → Operational database: uses (evidence: `ui/assistant_page.py`)
- Upload center → Operational database: uses (evidence: `ui/upload_page.py`)
- Upload center → Excel import: imports (evidence: `ui/upload_page.py`)
- Upload center → Upload validation: validates with (evidence: `ui/upload_page.py`)
- API entry → Agent entry: imports (evidence: `api/main.py`)
- Supervisor → RAG agent: dispatches to (evidence: `src/supervisor/supervisor.py`)
- Supervisor → Dataframe analysis: dispatches to (evidence: `src/supervisor/supervisor.py`)
- Supervisor → SQL engine: dispatches to
- RAG agent → Knowledge retrieval: retrieves from (evidence: `src/agents/rag_agent.py`)
- Knowledge retrieval → Embeddings: embeds with (evidence: `src/knowledge/retriever.py`)
- Knowledge retrieval → Model routing: expands query via (evidence: `src/knowledge/retriever.py`)
- SQL engine → Schema retrieval: retrieves schema (evidence: `src/sql_engine.py`)
- SQL engine → SQL validation: validates SQL (evidence: `src/sql_engine.py`)
- SQL engine → Operational database: executes SQL (evidence: `src/sql_engine.py`)
- SQL engine → SQL memory: searches and saves (evidence: `src/sql_engine.py`)
- SQL engine → Answer generation: generates answer (evidence: `src/sql_engine.py`)
- SQL engine → Model routing: requests SQL (evidence: `src/sql_engine.py`)
- SQL memory → Vector memory: searches and adds (evidence: `src/memory/memory_manager.py`)
- SQL memory → Operational database: reads and writes (evidence: `src/memory/memory_manager.py`)
- Model routing → Model service: routes requests
