Skip to content

Commit d7bd529

Browse files
committed
UPLOAD: readme
1 parent c6e6d5b commit d7bd529

File tree

3 files changed

+159
-0
lines changed

3 files changed

+159
-0
lines changed

README.md

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# AutoDataAnalyzer
2+
3+
**AutoDataAnalyzer** is a cutting-edge tool designed to automate the process of data ingestion, analysis, and visualization using powerful AI/ML models and interactive pipelines. This application provides a seamless experience for uploading datasets, querying data, and generating insightful visualizations.
4+
5+
---
6+
7+
## Features
8+
9+
- **Interactive Data Analysis**: Upload datasets and metadata, then query for insights.
10+
- **Automated Visualization**: Generates high-quality, interactive Plotly visualizations.
11+
- **Custom Query Handling**: Uses advanced LLMs (Llama 3.1-70B) for natural language query processing.
12+
- **Pipeline Integration**: End-to-end processing via LangChain and other robust frameworks.
13+
- **Dockerized Deployment**: Easy setup with Docker support.
14+
- **CI/CD Workflow**: Fully automated CI/CD pipeline using GitHub Actions.
15+
16+
---
17+
18+
## Table of Contents
19+
20+
1. [Directory Structure](#directory-structure)
21+
2. [Technical Details](#technical-details)
22+
3. [Requirements](#requirements)
23+
4. [Installation](#installation)
24+
5. [Usage](#usage)
25+
6. [Screenshots](#screenshots)
26+
7. [License](#license)
27+
28+
---
29+
30+
## Directory Structure
31+
32+
```
33+
RauhanAhmed-Auto-Data-Analyzer/
34+
├── .github/
35+
│ └── workflows/
36+
│ └── ci-cd.yaml
37+
├── app.py
38+
├── requirements.txt
39+
├── setup.py
40+
├── params.yaml
41+
├── config.ini
42+
├── Dockerfile
43+
├── LICENSE
44+
└── src/
45+
├── components/
46+
│ ├── queryChainBuilder.py
47+
│ ├── dataIngestion.py
48+
│ ├── __init__.py
49+
│ └── codeGenerator.py
50+
├── __init__.py
51+
├── pipelines/
52+
│ ├── __init__.py
53+
│ └── pipeline.py
54+
└── utils/
55+
├── logger.py
56+
├── exceptions.py
57+
├── __init__.py
58+
└── functions.py
59+
```
60+
61+
---
62+
63+
## Technical Details
64+
65+
### Tools and Frameworks
66+
67+
- **Programming Language**: Python 3.10
68+
- **Web Framework**: Flask
69+
- **Interactive Interface**: PyWebIO
70+
- **Visualization**: Plotly
71+
- **Large Language Model**: Llama 3.1-70B
72+
- **Task Management**: LangChain (including experimental and community modules)
73+
- **Deployment**: Docker
74+
- **CI/CD**: GitHub Actions
75+
76+
### Key Components
77+
78+
#### `app.py`
79+
- Entry point of the application.
80+
- Hosts the PyWebIO-based interactive interface.
81+
- Integrates the `CompletePipeline` for data ingestion and query processing.
82+
83+
#### `src/components/queryChainBuilder.py`
84+
- Builds a LangChain query processing chain.
85+
- Loads configurations from YAML and INI files.
86+
- Utilizes `ChatGroq` for natural language processing.
87+
88+
#### `params.yaml`
89+
- Contains system-level prompts and rules for data handling and visualization generation.
90+
91+
#### `Dockerfile`
92+
- Defines the container environment for easy deployment.
93+
94+
#### `.github/workflows/ci-cd.yaml`
95+
- Automates CI/CD processes, including Docker image building and deployment via webhooks.
96+
97+
---
98+
99+
## Requirements
100+
101+
- Python 3.10
102+
- Docker
103+
- Dependencies listed in `requirements.txt`
104+
105+
---
106+
107+
## Installation
108+
109+
1. Clone the repository:
110+
```bash
111+
git clone https://github.com/RauhanAhmed/AutoDataAnalyzer.git
112+
cd AutoDataAnalyzer
113+
```
114+
115+
2. Install dependencies:
116+
```bash
117+
pip install -r requirements.txt
118+
```
119+
120+
3. Run the application:
121+
```bash
122+
python app.py
123+
```
124+
125+
4. (Optional) Build and run using Docker:
126+
```bash
127+
docker build -t autodataanalyzer .
128+
docker run -p 7860:7860 autodataanalyzer
129+
```
130+
131+
---
132+
133+
## Usage
134+
135+
1. Start the application by running `app.py` or the Docker container.
136+
2. Upload your CSV files and metadata.
137+
3. Enter your query in natural language.
138+
4. View the generated visualization and export as needed.
139+
5. Type `exit` to terminate the application.
140+
141+
---
142+
143+
## Screenshots
144+
145+
![Upload and Query](./demo/uploadData.png)
146+
147+
![Visualization Output](./demo/visualizationOutput.png)
148+
149+
---
150+
151+
## License
152+
153+
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.
154+
155+
---
156+
157+
## Author
158+
159+
Developed by [**Rauhan Ahmed Siddiqui**](https://github.com/RauhanAhmed/Auto-Data-Analyzer).

demo/uploadData.png

35 KB
Loading

demo/visualizationOutput.png

50.5 KB
Loading

0 commit comments

Comments
 (0)