DanilaKopitayko commited on
Commit
cdf9b97
Β·
1 Parent(s): d7a3a26

Files reorganized

Browse files

Files reorganized according to topic, more details to example.ipynb were added

This view is limited to 50 files because it contains too many changes. Β  See raw diff
Files changed (50) hide show
  1. EXAMPLES/Example.ipynb +214 -47
  2. README.md +13 -13
  3. {Images β†’ assets}/Data_evidence.png +0 -0
  4. {Images β†’ assets}/Methodology.png +0 -0
  5. {Images β†’ assets}/Statistical_insights.png +0 -0
  6. {Images β†’ assets}/analysis_summary.png +0 -0
  7. {Images β†’ assets}/business_insights.png +0 -0
  8. {Images β†’ assets}/categorical_distribution.png +0 -0
  9. {Images β†’ assets}/executive_summary.png +0 -0
  10. {Images β†’ assets}/file_information.png +0 -0
  11. {Images β†’ assets}/graph1.png +0 -0
  12. {Images β†’ assets}/graph2.png +0 -0
  13. {Images β†’ assets}/graph3.png +0 -0
  14. {Images β†’ assets}/image-1.png +0 -0
  15. {Images β†’ assets}/image.png +0 -0
  16. {public β†’ assets/public}/placeholder-logo.png +0 -0
  17. {public β†’ assets/public}/placeholder-logo.svg +0 -0
  18. {public β†’ assets/public}/placeholder-user.jpg +0 -0
  19. {public β†’ assets/public}/placeholder.jpg +0 -0
  20. {public β†’ assets/public}/placeholder.svg +0 -0
  21. {lib β†’ backend/lib}/auth.ts +0 -0
  22. {lib β†’ backend/lib}/langchain-service.ts +0 -0
  23. {lib β†’ backend/lib}/onboarding-service.ts +0 -0
  24. {lib β†’ backend/lib}/profile-service.ts +0 -0
  25. {lib β†’ backend/lib}/settings-service.ts +0 -0
  26. {lib β†’ backend/lib}/storage.ts +0 -0
  27. {lib β†’ backend/lib}/supabase.ts +0 -0
  28. {lib β†’ backend/lib}/utils.ts +0 -0
  29. {scripts β†’ backend/scripts}/backend.py +0 -0
  30. {scripts β†’ backend/scripts}/create-onboarding-table.sql +0 -0
  31. {scripts β†’ backend/scripts}/create-storage-bucket.sql +0 -0
  32. {scripts β†’ backend/scripts}/create-user-profiles-table.sql +0 -0
  33. {scripts β†’ backend/scripts}/create-user-settings-table.sql +0 -0
  34. {app β†’ frontend/app}/account/page.tsx +0 -0
  35. {app β†’ frontend/app}/api/analyze-csv/route.ts +0 -0
  36. {app β†’ frontend/app}/api/analyze/route.ts +0 -0
  37. {app β†’ frontend/app}/api/chat/route.ts +0 -0
  38. {app β†’ frontend/app}/dashboard/page.tsx +0 -0
  39. {app β†’ frontend/app}/globals.css +0 -0
  40. {app β†’ frontend/app}/layout.tsx +0 -0
  41. {app β†’ frontend/app}/page.tsx +0 -0
  42. {app β†’ frontend/app}/settings/page.tsx +0 -0
  43. {app β†’ frontend/app}/signup/page.tsx +0 -0
  44. {components β†’ frontend/components}/csv-preview-modal.tsx +0 -0
  45. {components β†’ frontend/components}/dashboard-panel.tsx +0 -0
  46. {components β†’ frontend/components}/datasets-panel.tsx +0 -0
  47. {components β†’ frontend/components}/hero-banner.tsx +0 -0
  48. {components β†’ frontend/components}/log-panel.tsx +0 -0
  49. {components β†’ frontend/components}/mode-toggle.tsx +0 -0
  50. {components β†’ frontend/components}/onboarding-modal.tsx +0 -0
EXAMPLES/Example.ipynb CHANGED
@@ -1,49 +1,115 @@
1
  {
2
  "cells": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  {
4
  "cell_type": "code",
5
  "execution_count": null,
6
- "id": "48250b17-aada-4838-8fe9-843fe970b904",
7
  "metadata": {
8
- "id": "48250b17-aada-4838-8fe9-843fe970b904"
9
  },
10
  "outputs": [],
11
  "source": [
12
  "import os\n",
13
  "import pandas as pd\n",
14
- "from IPython.display import Markdown, HTML, display"
15
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  },
17
  {
18
  "cell_type": "code",
19
- "execution_count": 1,
20
- "id": "146be3c7-90df-4fbe-bff6-00166f3d61d2",
21
  "metadata": {
22
- "id": "146be3c7-90df-4fbe-bff6-00166f3d61d2"
23
  },
24
  "outputs": [],
25
  "source": [
26
- "import os\n",
27
- "\n",
28
- "# Replace with your actual values\n",
29
  "os.environ[\"AZURE_OPENAI_ENDPOINT\"] = \"INSERT THE OPENAI ENDPOINT\"\n",
30
- "os.environ[\"AZURE_OPENAI_API_KEY\"] = \"INSERT YOUR OPENAI API KEY\"\n"
31
- ]
 
 
 
 
 
 
 
 
 
 
 
32
  },
33
  {
34
  "cell_type": "code",
35
  "execution_count": null,
36
- "id": "f5e1b596-4568-4078-ae14-b20d25cba62b",
37
  "metadata": {
38
  "id": "f5e1b596-4568-4078-ae14-b20d25cba62b"
39
  },
40
  "outputs": [],
41
  "source": [
42
- "# 2nd Cell: Azure OpenAI setup\n",
43
- "import os\n",
44
- "from langchain_openai import AzureChatOpenAI\n",
45
- "from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n",
46
- "\n",
47
  "# Load your Azure environment variables\n",
48
  "AZURE_OPENAI_ENDPOINT = os.getenv(\"AZURE_OPENAI_ENDPOINT\")\n",
49
  "AZURE_DEPLOYMENT_NAME = \"gpt-4.1\" # πŸ‘ˆ Change if needed\n",
@@ -57,32 +123,22 @@
57
  " streaming=True,\n",
58
  " callbacks=[StreamingStdOutCallbackHandler()],\n",
59
  ")\n"
60
- ]
 
61
  },
62
  {
63
- "cell_type": "code",
64
- "execution_count": 4,
65
- "id": "789b46d9-2189-4d3c-8f77-61b4675bf950",
 
66
  "metadata": {
67
- "id": "789b46d9-2189-4d3c-8f77-61b4675bf950"
68
  },
69
- "outputs": [],
 
 
 
70
  "source": [
71
- "# --- Setup ---\n",
72
- "import os\n",
73
- "import gradio as gr\n",
74
- "import pandas as pd\n",
75
- "import io\n",
76
- "import contextlib\n",
77
- "\n",
78
- "from langchain.agents.agent_types import AgentType\n",
79
- "from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent\n",
80
- "\n",
81
- "# Replace this with your actual LLM setup\n",
82
- "# Example:\n",
83
- "# from langchain_openai import AzureChatOpenAI\n",
84
- "# model = AzureChatOpenAI(...)\n",
85
- "\n",
86
  "# Prompt\n",
87
  "CSV_PROMPT_PREFIX = \"\"\"\n",
88
  "Set pandas to show all columns.\n",
@@ -110,6 +166,58 @@
110
  "Please provide only the Python code required to perform the action, and nothing else until the final Markdown output.\n",
111
  "\"\"\"\n",
112
  "\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  "# --- Agent Logic ---\n",
114
  "def ask_agent(files, question):\n",
115
  " try:\n",
@@ -141,8 +249,23 @@
141
  " return output, trace\n",
142
  "\n",
143
  " except Exception as e:\n",
144
- " return f\"❌ Agent error: {e}\", \"\"\n",
145
- "\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  "# --- Gradio UI ---\n",
147
  "with gr.Blocks(\n",
148
  " css=\"\"\"\n",
@@ -193,11 +316,13 @@
193
  "\n",
194
  " with gr.Row(equal_height=True):\n",
195
  " file_input = gr.File(label=\"πŸ“ Upload CSV(s)\", file_types=[\".csv\"], file_count=\"multiple\")\n",
196
- " question_input = gr.Textbox(\n",
197
- " label=\"πŸ’¬ Ask Your Data\",\n",
198
- " placeholder=\"e.g., What is the trend for revenue over time?\",\n",
199
- " lines=9\n",
200
- ")\n",
 
 
201
  "\n",
202
  "\n",
203
  " ask_button = gr.Button(\"πŸ’‘ Analyze\")\n",
@@ -209,7 +334,49 @@
209
  " )\n",
210
  "\n",
211
  "demo.launch(share=True)"
212
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  },
214
  {
215
  "cell_type": "code",
 
1
  {
2
  "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "source": [
6
+ "# Introduction\n",
7
+ "\n",
8
+ "NexDatawork is an AI data agent for data engineering and analytics without writing code.\n",
9
+ "\n",
10
+ "## Prerequisites\n",
11
+ "\n",
12
+ " - Node.js\n",
13
+ " - Supabase\n",
14
+ " - OpenAI\n",
15
+ "\n",
16
+ "\n",
17
+ " Before starting your work install all the required tools:"
18
+ ],
19
+ "metadata": {
20
+ "id": "w8J6iWjvjZJd"
21
+ },
22
+ "id": "w8J6iWjvjZJd"
23
+ },
24
+ {
25
+ "cell_type": "code",
26
+ "source": [
27
+ "!pip install langchain_openai\n",
28
+ "!pip install langchain\n",
29
+ "!pip install langchain_experimental"
30
+ ],
31
+ "metadata": {
32
+ "id": "L0KlJIwcdCed"
33
+ },
34
+ "execution_count": 1,
35
+ "outputs": [],
36
+ "id": "L0KlJIwcdCed"
37
+ },
38
+ {
39
+ "cell_type": "markdown",
40
+ "source": [
41
+ "Import all the required libraries"
42
+ ],
43
+ "metadata": {
44
+ "id": "uiqjnn4LkaGJ"
45
+ },
46
+ "id": "uiqjnn4LkaGJ"
47
+ },
48
  {
49
  "cell_type": "code",
50
  "execution_count": null,
 
51
  "metadata": {
52
+ "id": "u3Py4qe6PlP7"
53
  },
54
  "outputs": [],
55
  "source": [
56
  "import os\n",
57
  "import pandas as pd\n",
58
+ "from IPython.display import Markdown, HTML, display\n",
59
+ "from langchain_openai import AzureChatOpenAI\n",
60
+ "from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n",
61
+ "from langchain.agents.agent_types import AgentType\n",
62
+ "from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent\n",
63
+ "import gradio as gr\n",
64
+ "import pandas as pd\n",
65
+ "import io\n",
66
+ "import contextlib"
67
+ ],
68
+ "id": "u3Py4qe6PlP7"
69
+ },
70
+ {
71
+ "cell_type": "markdown",
72
+ "source": [
73
+ "To access AzureOpenAI models you'll need to create an Azure account, create a deployment of an Azure OpenAI model, get the name and endpoint for your deployment, get an Azure OpenAI API key and install the langchain-openai integration package.\n",
74
+ "\n",
75
+ "Replace the placeholders with the actual values."
76
+ ],
77
+ "metadata": {
78
+ "id": "F5YuW2LyosRX"
79
+ },
80
+ "id": "F5YuW2LyosRX"
81
  },
82
  {
83
  "cell_type": "code",
84
+ "execution_count": null,
 
85
  "metadata": {
86
+ "id": "5ldGnv_jPlP8"
87
  },
88
  "outputs": [],
89
  "source": [
 
 
 
90
  "os.environ[\"AZURE_OPENAI_ENDPOINT\"] = \"INSERT THE OPENAI ENDPOINT\"\n",
91
+ "os.environ[\"AZURE_OPENAI_API_KEY\"] = \"INSERT YOUR OPENAI API KEY"
92
+ ],
93
+ "id": "5ldGnv_jPlP8"
94
+ },
95
+ {
96
+ "cell_type": "markdown",
97
+ "source": [
98
+ "To set up the Azure OpenAI model choose the name for ```AZURE_DEPLOYMENT_NAME``` and insert ```AZURE_API_VERSION``` (the latest supported version can be found here: https://learn.microsoft.com/en-us/azure/ai-services/openai/reference)."
99
+ ],
100
+ "metadata": {
101
+ "id": "TWDsP2d0qP5q"
102
+ },
103
+ "id": "TWDsP2d0qP5q"
104
  },
105
  {
106
  "cell_type": "code",
107
  "execution_count": null,
 
108
  "metadata": {
109
  "id": "f5e1b596-4568-4078-ae14-b20d25cba62b"
110
  },
111
  "outputs": [],
112
  "source": [
 
 
 
 
 
113
  "# Load your Azure environment variables\n",
114
  "AZURE_OPENAI_ENDPOINT = os.getenv(\"AZURE_OPENAI_ENDPOINT\")\n",
115
  "AZURE_DEPLOYMENT_NAME = \"gpt-4.1\" # πŸ‘ˆ Change if needed\n",
 
123
  " streaming=True,\n",
124
  " callbacks=[StreamingStdOutCallbackHandler()],\n",
125
  ")\n"
126
+ ],
127
+ "id": "f5e1b596-4568-4078-ae14-b20d25cba62b"
128
  },
129
  {
130
+ "cell_type": "markdown",
131
+ "source": [
132
+ "Here you can create a prompt for your model."
133
+ ],
134
  "metadata": {
135
+ "id": "9cMbxsJuyMPb"
136
  },
137
+ "id": "9cMbxsJuyMPb"
138
+ },
139
+ {
140
+ "cell_type": "code",
141
  "source": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  "# Prompt\n",
143
  "CSV_PROMPT_PREFIX = \"\"\"\n",
144
  "Set pandas to show all columns.\n",
 
166
  "Please provide only the Python code required to perform the action, and nothing else until the final Markdown output.\n",
167
  "\"\"\"\n",
168
  "\n",
169
+ "SQL_PROMPT = \"\"\"\n",
170
+ "Write code in SQL for extracting data based on the user's question\n",
171
+ "\"\"\""
172
+ ],
173
+ "metadata": {
174
+ "id": "B6dGxRmnyJHS"
175
+ },
176
+ "execution_count": null,
177
+ "outputs": [],
178
+ "id": "B6dGxRmnyJHS"
179
+ },
180
+ {
181
+ "cell_type": "markdown",
182
+ "source": [
183
+ "The following block is responsible for the logic of the agent and the output that it produces."
184
+ ],
185
+ "metadata": {
186
+ "id": "bWNgj913yo8h"
187
+ },
188
+ "id": "bWNgj913yo8h"
189
+ },
190
+ {
191
+ "cell_type": "code",
192
+ "execution_count": null,
193
+ "metadata": {
194
+ "id": "789b46d9-2189-4d3c-8f77-61b4675bf950"
195
+ },
196
+ "outputs": [],
197
+ "source": [
198
+ "# Replace this with your actual LLM setup\n",
199
+ "# Example:\n",
200
+ "# from langchain_openai import AzureChatOpenAI\n",
201
+ "# model = AzureChatOpenAI(...)\n",
202
+ "\n",
203
+ "def sql_code(files, question):\n",
204
+ " try:\n",
205
+ " dfs = [pd.read_csv(f.name) for f in files]\n",
206
+ " except Exception as e:\n",
207
+ " return f\"❌ Could not read CSVs: {e}\", \"\"\n",
208
+ " try:\n",
209
+ " agent = create_pandas_dataframe_agent(\n",
210
+ " llm=model,\n",
211
+ " df=df,\n",
212
+ " verbose=True,\n",
213
+ " agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,\n",
214
+ " allow_dangerous_code=True,\n",
215
+ " handle_parsing_errors=True, # πŸ‘ˆ this is the fix\n",
216
+ " )\n",
217
+ "\n",
218
+ "\n",
219
+ "\n",
220
+ "\n",
221
  "# --- Agent Logic ---\n",
222
  "def ask_agent(files, question):\n",
223
  " try:\n",
 
249
  " return output, trace\n",
250
  "\n",
251
  " except Exception as e:\n",
252
+ " return f\"❌ Agent error: {e}\", \"\"\n"
253
+ ],
254
+ "id": "789b46d9-2189-4d3c-8f77-61b4675bf950"
255
+ },
256
+ {
257
+ "cell_type": "markdown",
258
+ "source": [
259
+ "The next section creates the GUI and starts the programme."
260
+ ],
261
+ "metadata": {
262
+ "id": "-oxO_Rkq0ZMv"
263
+ },
264
+ "id": "-oxO_Rkq0ZMv"
265
+ },
266
+ {
267
+ "cell_type": "code",
268
+ "source": [
269
  "# --- Gradio UI ---\n",
270
  "with gr.Blocks(\n",
271
  " css=\"\"\"\n",
 
316
  "\n",
317
  " with gr.Row(equal_height=True):\n",
318
  " file_input = gr.File(label=\"πŸ“ Upload CSV(s)\", file_types=[\".csv\"], file_count=\"multiple\")\n",
319
+ " with gr.Column():\n",
320
+ " question_input = gr.Textbox(\n",
321
+ " label=\"πŸ’¬ Ask Your Data\",\n",
322
+ " placeholder=\"e.g., What is the trend for revenue over time?\",\n",
323
+ " lines=2\n",
324
+ " )\n",
325
+ " sql_code = gr.Textbox(label=\"SQL code\",placeholder='SQL code will appear here',lines=2)\n",
326
  "\n",
327
  "\n",
328
  " ask_button = gr.Button(\"πŸ’‘ Analyze\")\n",
 
334
  " )\n",
335
  "\n",
336
  "demo.launch(share=True)"
337
+ ],
338
+ "metadata": {
339
+ "colab": {
340
+ "base_uri": "https://localhost:8080/",
341
+ "height": 591
342
+ },
343
+ "outputId": "e6ff2cac-90fc-44ea-bad5-20a66cccab56",
344
+ "id": "QXUpnFMdPlQA"
345
+ },
346
+ "execution_count": null,
347
+ "outputs": [
348
+ {
349
+ "output_type": "stream",
350
+ "name": "stdout",
351
+ "text": [
352
+ "Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n",
353
+ "* Running on public URL: https://1b7614b12579466c16.gradio.live\n",
354
+ "\n",
355
+ "This share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n"
356
+ ]
357
+ },
358
+ {
359
+ "output_type": "display_data",
360
+ "data": {
361
+ "text/plain": [
362
+ "<IPython.core.display.HTML object>"
363
+ ],
364
+ "text/html": [
365
+ "<div><iframe src=\"https://1b7614b12579466c16.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
366
+ ]
367
+ },
368
+ "metadata": {}
369
+ },
370
+ {
371
+ "output_type": "execute_result",
372
+ "data": {
373
+ "text/plain": []
374
+ },
375
+ "metadata": {},
376
+ "execution_count": 13
377
+ }
378
+ ],
379
+ "id": "QXUpnFMdPlQA"
380
  },
381
  {
382
  "cell_type": "code",
README.md CHANGED
@@ -58,7 +58,7 @@ Choose the **Data Upload** menu and choose a csv file from your computer or drag
58
 
59
  In the windows below choose an **Industries**, **Topics** and **Requirenments** for better results. You can add comments in a seperate window.
60
 
61
- <image src='Images/image.png' alt='uploading data' width=250>
62
 
63
  **Receive the analysed data**
64
 
@@ -68,7 +68,7 @@ In the **Dashboard** tab you can see the the graphs of the graphs of some distri
68
 
69
  In the **Chat** tab you can ask the bot about the details of the data.
70
 
71
- <image src='Images/image-1.png' alt='uploading data' width=300>
72
 
73
 
74
  ## <a name='architecture'></a>Architecture
@@ -82,13 +82,13 @@ After the analysis is completed the results are received in two tabs: **Data Bra
82
  1) General overview of the data is presented as well as the methodology of approaching the dataset
83
 
84
  <p align='center'>
85
- <image src='Images/executive_summary.png' alt='executive summary' width=500>
86
  </p>
87
 
88
  2) Recommendations on possible aspects of the data are generated
89
 
90
  <p align='center'>
91
- <image src='Images/business_insights.png' alt='business insights' width=500>
92
  </p>
93
 
94
  3) a conclusive overview of the data and statistical insights are presented
@@ -96,10 +96,10 @@ After the analysis is completed the results are received in two tabs: **Data Bra
96
 
97
 
98
  <p align='center'>
99
- <image src='Images/Methodology.png' alt='Methodology' width=500 />
100
- <image src='Images/Data_evidence.png' alt='Data evidence' width=500 />
101
- <image src='Images/Statistical_insights.png' alt='Statistical insights' width=500 />
102
- <image src='Images/categorical_distribution.png' alt='categorical distribution' width=500 />
103
  </p>
104
 
105
 
@@ -108,21 +108,21 @@ After the analysis is completed the results are received in two tabs: **Data Bra
108
  Brief overview of the data with only the most important metrics and figures, such as:
109
  * file information
110
  <p align='center'>
111
- <image src='Images/file_information.png' alt='file_information' width=500 />
112
  </p>
113
 
114
  * number of columns of each type (numerical, categorical and temporal)
115
 
116
  * data quality and statistical summary
117
  <p align='center'>
118
- <image src='Images/analysis_summary.png' alt='analysis_summary' width=500 />
119
  </p>
120
 
121
  Finally, graphs of the most important variables are presented.
122
  <p align='center'>
123
- <image src='Images/graph1.png' alt='graph1' width=225 />
124
- <image src='Images/graph2.png' alt='graph2' width=250 />
125
- <image src='Images/graph3.png' alt='graph3' width=225 />
126
  </p>
127
 
128
  ## <a name='requirenments--starting-procedures'></a>Requirenments & Starting Procedures
 
58
 
59
  In the windows below choose an **Industries**, **Topics** and **Requirenments** for better results. You can add comments in a seperate window.
60
 
61
+ <image src='assets/image.png' alt='uploading data' width=250>
62
 
63
  **Receive the analysed data**
64
 
 
68
 
69
  In the **Chat** tab you can ask the bot about the details of the data.
70
 
71
+ <image src='assets/image-1.png' alt='uploading data' width=300>
72
 
73
 
74
  ## <a name='architecture'></a>Architecture
 
82
  1) General overview of the data is presented as well as the methodology of approaching the dataset
83
 
84
  <p align='center'>
85
+ <image src='assets/executive_summary.png' alt='executive summary' width=500>
86
  </p>
87
 
88
  2) Recommendations on possible aspects of the data are generated
89
 
90
  <p align='center'>
91
+ <image src='assets/business_insights.png' alt='business insights' width=500>
92
  </p>
93
 
94
  3) a conclusive overview of the data and statistical insights are presented
 
96
 
97
 
98
  <p align='center'>
99
+ <image src='assets/Methodology.png' alt='Methodology' width=500 />
100
+ <image src='assets/Data_evidence.png' alt='Data evidence' width=500 />
101
+ <image src='assets/Statistical_insights.png' alt='Statistical insights' width=500 />
102
+ <image src='assets/categorical_distribution.png' alt='categorical distribution' width=500 />
103
  </p>
104
 
105
 
 
108
  Brief overview of the data with only the most important metrics and figures, such as:
109
  * file information
110
  <p align='center'>
111
+ <image src='assets/file_information.png' alt='file_information' width=500 />
112
  </p>
113
 
114
  * number of columns of each type (numerical, categorical and temporal)
115
 
116
  * data quality and statistical summary
117
  <p align='center'>
118
+ <image src='assets/analysis_summary.png' alt='analysis_summary' width=500 />
119
  </p>
120
 
121
  Finally, graphs of the most important variables are presented.
122
  <p align='center'>
123
+ <image src='assets/graph1.png' alt='graph1' width=225 />
124
+ <image src='assets/graph2.png' alt='graph2' width=250 />
125
+ <image src='assets/graph3.png' alt='graph3' width=225 />
126
  </p>
127
 
128
  ## <a name='requirenments--starting-procedures'></a>Requirenments & Starting Procedures
{Images β†’ assets}/Data_evidence.png RENAMED
File without changes
{Images β†’ assets}/Methodology.png RENAMED
File without changes
{Images β†’ assets}/Statistical_insights.png RENAMED
File without changes
{Images β†’ assets}/analysis_summary.png RENAMED
File without changes
{Images β†’ assets}/business_insights.png RENAMED
File without changes
{Images β†’ assets}/categorical_distribution.png RENAMED
File without changes
{Images β†’ assets}/executive_summary.png RENAMED
File without changes
{Images β†’ assets}/file_information.png RENAMED
File without changes
{Images β†’ assets}/graph1.png RENAMED
File without changes
{Images β†’ assets}/graph2.png RENAMED
File without changes
{Images β†’ assets}/graph3.png RENAMED
File without changes
{Images β†’ assets}/image-1.png RENAMED
File without changes
{Images β†’ assets}/image.png RENAMED
File without changes
{public β†’ assets/public}/placeholder-logo.png RENAMED
File without changes
{public β†’ assets/public}/placeholder-logo.svg RENAMED
File without changes
{public β†’ assets/public}/placeholder-user.jpg RENAMED
File without changes
{public β†’ assets/public}/placeholder.jpg RENAMED
File without changes
{public β†’ assets/public}/placeholder.svg RENAMED
File without changes
{lib β†’ backend/lib}/auth.ts RENAMED
File without changes
{lib β†’ backend/lib}/langchain-service.ts RENAMED
File without changes
{lib β†’ backend/lib}/onboarding-service.ts RENAMED
File without changes
{lib β†’ backend/lib}/profile-service.ts RENAMED
File without changes
{lib β†’ backend/lib}/settings-service.ts RENAMED
File without changes
{lib β†’ backend/lib}/storage.ts RENAMED
File without changes
{lib β†’ backend/lib}/supabase.ts RENAMED
File without changes
{lib β†’ backend/lib}/utils.ts RENAMED
File without changes
{scripts β†’ backend/scripts}/backend.py RENAMED
File without changes
{scripts β†’ backend/scripts}/create-onboarding-table.sql RENAMED
File without changes
{scripts β†’ backend/scripts}/create-storage-bucket.sql RENAMED
File without changes
{scripts β†’ backend/scripts}/create-user-profiles-table.sql RENAMED
File without changes
{scripts β†’ backend/scripts}/create-user-settings-table.sql RENAMED
File without changes
{app β†’ frontend/app}/account/page.tsx RENAMED
File without changes
{app β†’ frontend/app}/api/analyze-csv/route.ts RENAMED
File without changes
{app β†’ frontend/app}/api/analyze/route.ts RENAMED
File without changes
{app β†’ frontend/app}/api/chat/route.ts RENAMED
File without changes
{app β†’ frontend/app}/dashboard/page.tsx RENAMED
File without changes
{app β†’ frontend/app}/globals.css RENAMED
File without changes
{app β†’ frontend/app}/layout.tsx RENAMED
File without changes
{app β†’ frontend/app}/page.tsx RENAMED
File without changes
{app β†’ frontend/app}/settings/page.tsx RENAMED
File without changes
{app β†’ frontend/app}/signup/page.tsx RENAMED
File without changes
{components β†’ frontend/components}/csv-preview-modal.tsx RENAMED
File without changes
{components β†’ frontend/components}/dashboard-panel.tsx RENAMED
File without changes
{components β†’ frontend/components}/datasets-panel.tsx RENAMED
File without changes
{components β†’ frontend/components}/hero-banner.tsx RENAMED
File without changes
{components β†’ frontend/components}/log-panel.tsx RENAMED
File without changes
{components β†’ frontend/components}/mode-toggle.tsx RENAMED
File without changes
{components β†’ frontend/components}/onboarding-modal.tsx RENAMED
File without changes