Elric2005 commited on
Commit
9400a97
Β·
1 Parent(s): a2e2b5e

json compatibility add attempt

Browse files
data/sample_file_upload.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ [
2
+ {"date":"2025-12-1", "product": "Product one", "units":2,"revenue":200.18},
3
+ {"date":"2025-11-12", "product": "Product two", "units":50,"revenue":32.01}
4
+
5
+ ]
examples/data_agent_demo.ipynb CHANGED
@@ -36,7 +36,7 @@
36
  },
37
  {
38
  "cell_type": "code",
39
- "execution_count": null,
40
  "id": "L0KlJIwcdCed",
41
  "metadata": {
42
  "id": "L0KlJIwcdCed"
@@ -77,7 +77,7 @@
77
  "Collecting langchain==0.3.*\n",
78
  " Using cached langchain-0.3.27-py3-none-any.whl.metadata (7.8 kB)\n",
79
  "Collecting langchain-core==0.3.*\n",
80
- " Using cached langchain_core-0.3.80-py3-none-any.whl.metadata (3.2 kB)\n",
81
  "Collecting langchain-community==0.3.*\n",
82
  " Using cached langchain_community-0.3.31-py3-none-any.whl.metadata (3.0 kB)\n",
83
  "Collecting langgraph<0.3,>=0.2\n",
@@ -91,6 +91,8 @@
91
  "Requirement already satisfied: sqlalchemy>=2.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (2.0.45)\n",
92
  "Requirement already satisfied: pandas>=2.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (2.3.3)\n",
93
  "Requirement already satisfied: gradio>=4.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (6.1.0)\n",
 
 
94
  "Collecting langchain-experimental\n",
95
  " Using cached langchain_experimental-0.4.1-py3-none-any.whl.metadata (1.3 kB)\n",
96
  "Collecting langchain-scrapegraph\n",
@@ -207,7 +209,8 @@
207
  "Requirement already satisfied: brotli>=1.1.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (1.2.0)\n",
208
  "Requirement already satisfied: fastapi<1.0,>=0.115.2 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.124.4)\n",
209
  "Requirement already satisfied: ffmpy in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (1.0.0)\n",
210
- "Requirement already satisfied: gradio-client==2.0.1 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (2.0.1)\n",
 
211
  "Requirement already satisfied: groovy~=0.1 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.1.2)\n",
212
  "Requirement already satisfied: huggingface-hub<2.0,>=0.33.5 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (1.2.3)\n",
213
  "Requirement already satisfied: jinja2<4.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (3.1.6)\n",
@@ -221,7 +224,7 @@
221
  "Requirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.13.3)\n",
222
  "Requirement already satisfied: typer<1.0,>=0.12 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.20.0)\n",
223
  "Requirement already satisfied: uvicorn>=0.14.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.38.0)\n",
224
- "Requirement already satisfied: fsspec in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio-client==2.0.1->gradio>=4.0) (2025.12.0)\n",
225
  "Requirement already satisfied: annotated-doc>=0.0.2 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from fastapi<1.0,>=0.115.2->gradio>=4.0) (0.0.4)\n",
226
  "Requirement already satisfied: filelock in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.33.5->gradio>=4.0) (3.20.1)\n",
227
  "Requirement already satisfied: hf-xet<2.0.0,>=1.2.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.33.5->gradio>=4.0) (1.2.0)\n",
@@ -249,21 +252,32 @@
249
  "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio>=4.0) (2.19.2)\n",
250
  "Requirement already satisfied: mdurl~=0.1 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio>=4.0) (0.1.2)\n",
251
  "Using cached langchain-0.3.27-py3-none-any.whl (1.0 MB)\n",
252
- "Using cached langchain_core-0.3.80-py3-none-any.whl (450 kB)\n",
253
  "Using cached langchain_community-0.3.31-py3-none-any.whl (2.5 MB)\n",
254
  "Using cached langgraph-0.2.76-py3-none-any.whl (153 kB)\n",
255
  "Using cached langchain_openai-0.3.35-py3-none-any.whl (75 kB)\n",
256
  "Using cached langchain_anthropic-0.3.22-py3-none-any.whl (32 kB)\n",
257
  "Using cached langchain_google_vertexai-2.1.2-py3-none-any.whl (104 kB)\n",
 
 
 
258
  "Using cached langchain_experimental-0.3.4-py3-none-any.whl (209 kB)\n",
259
  "Using cached langchain_scrapegraph-1.6.0-py3-none-any.whl (20 kB)\n",
260
- "Installing collected packages: langchain-core, langchain-scrapegraph, langchain-openai, langchain-anthropic, langgraph, langchain, langchain-google-vertexai, langchain-community, langchain-experimental\n",
261
- "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9/9\u001b[0m [langchain-experimental]hain-experimental]\n",
 
 
 
 
 
 
 
 
262
  "\u001b[1A\u001b[2K\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
263
- "langchain-classic 1.0.0 requires langchain-core<2.0.0,>=1.0.0, but you have langchain-core 0.3.80 which is incompatible.\n",
264
  "langchain-classic 1.0.0 requires langchain-text-splitters<2.0.0,>=1.0.0, but you have langchain-text-splitters 0.3.11 which is incompatible.\n",
265
- "langgraph-prebuilt 1.0.5 requires langchain-core>=1.0.0, but you have langchain-core 0.3.80 which is incompatible.\u001b[0m\u001b[31m\n",
266
- "\u001b[0mSuccessfully installed langchain-0.3.27 langchain-anthropic-0.3.22 langchain-community-0.3.31 langchain-core-0.3.80 langchain-experimental-0.3.4 langchain-google-vertexai-2.1.2 langchain-openai-0.3.35 langchain-scrapegraph-1.6.0 langgraph-0.2.76\n",
267
  "Note: you may need to restart the kernel to use updated packages.\n"
268
  ]
269
  }
@@ -290,7 +304,7 @@
290
  },
291
  {
292
  "cell_type": "code",
293
- "execution_count": 67,
294
  "id": "AWWI1FJ6ChHN",
295
  "metadata": {
296
  "id": "AWWI1FJ6ChHN"
@@ -302,7 +316,7 @@
302
  "text": [
303
  "Kernel Python: /Users/muhammadarij/cs mac/data-agents/.venv/bin/python\n",
304
  "langchain: 0.3.27\n",
305
- "langchain-core: 0.3.80\n",
306
  "langchain-community: 0.3.31\n",
307
  "langgraph: 0.2.76\n",
308
  "langchain-openai: 0.3.35\n",
@@ -339,7 +353,7 @@
339
  },
340
  {
341
  "cell_type": "code",
342
- "execution_count": 68,
343
  "id": "g9izxdgGCl-V",
344
  "metadata": {
345
  "id": "g9izxdgGCl-V"
@@ -359,6 +373,7 @@
359
  "import contextlib\n",
360
  "import pandas as pd\n",
361
  "import gradio as gr\n",
 
362
  "from IPython.display import Markdown, HTML, display\n",
363
  "\n",
364
  "from sqlalchemy import (\n",
@@ -404,7 +419,7 @@
404
  },
405
  {
406
  "cell_type": "code",
407
- "execution_count": 70,
408
  "id": "5ldGnv_jPlP8",
409
  "metadata": {
410
  "id": "5ldGnv_jPlP8"
@@ -428,7 +443,7 @@
428
  },
429
  {
430
  "cell_type": "code",
431
- "execution_count": 57,
432
  "id": "f5e1b596-4568-4078-ae14-b20d25cba62b",
433
  "metadata": {
434
  "id": "f5e1b596-4568-4078-ae14-b20d25cba62b"
@@ -472,7 +487,7 @@
472
  },
473
  {
474
  "cell_type": "code",
475
- "execution_count": 58,
476
  "id": "B6dGxRmnyJHS",
477
  "metadata": {
478
  "id": "B6dGxRmnyJHS"
@@ -619,7 +634,7 @@
619
  },
620
  {
621
  "cell_type": "code",
622
- "execution_count": 59,
623
  "id": "789b46d9-2189-4d3c-8f77-61b4675bf950",
624
  "metadata": {
625
  "id": "789b46d9-2189-4d3c-8f77-61b4675bf950"
@@ -631,14 +646,33 @@
631
  "# from langchain_openai import AzureChatOpenAI\n",
632
  "# model = AzureChatOpenAI(...)\n",
633
  "\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
634
  "\n",
635
  "# --- Agent Logic ---\n",
636
  "def ask_agent(files, question):\n",
637
  " try:\n",
638
- " dfs = [pd.read_csv(f.name) for f in files]\n",
639
- " df = pd.concat(dfs, ignore_index=True) #concatenation of all of the files uploaded into one\n",
 
 
640
  " except Exception as e:\n",
641
- " return f\"❌ Could not read CSVs: {e}\", \"\"\n",
 
642
  "\n",
643
  " try:\n",
644
  " agent = create_pandas_dataframe_agent(\n",
@@ -686,7 +720,7 @@
686
  },
687
  {
688
  "cell_type": "code",
689
- "execution_count": 60,
690
  "id": "uajELHHaJjUS",
691
  "metadata": {
692
  "id": "uajELHHaJjUS"
@@ -717,7 +751,7 @@
717
  },
718
  {
719
  "cell_type": "code",
720
- "execution_count": 61,
721
  "id": "35sreALjyVuA",
722
  "metadata": {
723
  "id": "35sreALjyVuA"
@@ -785,7 +819,7 @@
785
  },
786
  {
787
  "cell_type": "code",
788
- "execution_count": 62,
789
  "id": "n6sfgj8W4eAA",
790
  "metadata": {
791
  "id": "n6sfgj8W4eAA"
@@ -872,7 +906,7 @@
872
  },
873
  {
874
  "cell_type": "code",
875
- "execution_count": 63,
876
  "id": "97vYgZVOUQnT",
877
  "metadata": {
878
  "id": "97vYgZVOUQnT"
@@ -928,7 +962,7 @@
928
  },
929
  {
930
  "cell_type": "code",
931
- "execution_count": 64,
932
  "id": "3_PPBrjqC0Os",
933
  "metadata": {
934
  "id": "3_PPBrjqC0Os"
@@ -1024,7 +1058,7 @@
1024
  },
1025
  {
1026
  "cell_type": "code",
1027
- "execution_count": null,
1028
  "id": "OhM41SDzIQdI",
1029
  "metadata": {
1030
  "id": "OhM41SDzIQdI"
@@ -1034,7 +1068,7 @@
1034
  "name": "stderr",
1035
  "output_type": "stream",
1036
  "text": [
1037
- "/var/folders/lh/4vqv0z990r96ngxb_p223v3m0000gn/T/ipykernel_89879/2172203645.py:2: UserWarning: The parameters have been moved from the Blocks constructor to the launch() method in Gradio 6.0: css. Please pass these parameters to launch() instead.\n",
1038
  " with gr.Blocks(\n"
1039
  ]
1040
  },
@@ -1042,8 +1076,8 @@
1042
  "name": "stdout",
1043
  "output_type": "stream",
1044
  "text": [
1045
- "* Running on local URL: http://127.0.0.1:7864\n",
1046
- "* Running on public URL: https://3e6539d9f5befd240c.gradio.live\n",
1047
  "\n",
1048
  "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"
1049
  ]
@@ -1051,7 +1085,7 @@
1051
  {
1052
  "data": {
1053
  "text/html": [
1054
- "<div><iframe src=\"https://3e6539d9f5befd240c.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
1055
  ],
1056
  "text/plain": [
1057
  "<IPython.core.display.HTML object>"
@@ -1064,7 +1098,7 @@
1064
  "data": {
1065
  "text/plain": []
1066
  },
1067
- "execution_count": 65,
1068
  "metadata": {},
1069
  "output_type": "execute_result"
1070
  }
@@ -1132,7 +1166,7 @@
1132
  "\n",
1133
  " with gr.Row(equal_height=True):\n",
1134
  "\n",
1135
- " file_input = gr.File(label=\" Upload CSV(s)\", file_types=[\".csv\"], file_count=\"multiple\",height=120)\n",
1136
  "\n",
1137
  " question_input = gr.Textbox(label=\"πŸ’¬ Ask Your Agent\",placeholder=\"e.g., What is the trend for revenue over time?\",lines=2)\n",
1138
  "\n",
 
36
  },
37
  {
38
  "cell_type": "code",
39
+ "execution_count": 90,
40
  "id": "L0KlJIwcdCed",
41
  "metadata": {
42
  "id": "L0KlJIwcdCed"
 
77
  "Collecting langchain==0.3.*\n",
78
  " Using cached langchain-0.3.27-py3-none-any.whl.metadata (7.8 kB)\n",
79
  "Collecting langchain-core==0.3.*\n",
80
+ " Downloading langchain_core-0.3.81-py3-none-any.whl.metadata (3.2 kB)\n",
81
  "Collecting langchain-community==0.3.*\n",
82
  " Using cached langchain_community-0.3.31-py3-none-any.whl.metadata (3.0 kB)\n",
83
  "Collecting langgraph<0.3,>=0.2\n",
 
91
  "Requirement already satisfied: sqlalchemy>=2.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (2.0.45)\n",
92
  "Requirement already satisfied: pandas>=2.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (2.3.3)\n",
93
  "Requirement already satisfied: gradio>=4.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (6.1.0)\n",
94
+ "Collecting gradio>=4.0\n",
95
+ " Downloading gradio-6.2.0-py3-none-any.whl.metadata (16 kB)\n",
96
  "Collecting langchain-experimental\n",
97
  " Using cached langchain_experimental-0.4.1-py3-none-any.whl.metadata (1.3 kB)\n",
98
  "Collecting langchain-scrapegraph\n",
 
209
  "Requirement already satisfied: brotli>=1.1.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (1.2.0)\n",
210
  "Requirement already satisfied: fastapi<1.0,>=0.115.2 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.124.4)\n",
211
  "Requirement already satisfied: ffmpy in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (1.0.0)\n",
212
+ "Collecting gradio-client==2.0.2 (from gradio>=4.0)\n",
213
+ " Downloading gradio_client-2.0.2-py3-none-any.whl.metadata (7.1 kB)\n",
214
  "Requirement already satisfied: groovy~=0.1 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.1.2)\n",
215
  "Requirement already satisfied: huggingface-hub<2.0,>=0.33.5 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (1.2.3)\n",
216
  "Requirement already satisfied: jinja2<4.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (3.1.6)\n",
 
224
  "Requirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.13.3)\n",
225
  "Requirement already satisfied: typer<1.0,>=0.12 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.20.0)\n",
226
  "Requirement already satisfied: uvicorn>=0.14.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio>=4.0) (0.38.0)\n",
227
+ "Requirement already satisfied: fsspec in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from gradio-client==2.0.2->gradio>=4.0) (2025.12.0)\n",
228
  "Requirement already satisfied: annotated-doc>=0.0.2 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from fastapi<1.0,>=0.115.2->gradio>=4.0) (0.0.4)\n",
229
  "Requirement already satisfied: filelock in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.33.5->gradio>=4.0) (3.20.1)\n",
230
  "Requirement already satisfied: hf-xet<2.0.0,>=1.2.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.33.5->gradio>=4.0) (1.2.0)\n",
 
252
  "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio>=4.0) (2.19.2)\n",
253
  "Requirement already satisfied: mdurl~=0.1 in /Users/muhammadarij/cs mac/data-agents/.venv/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio>=4.0) (0.1.2)\n",
254
  "Using cached langchain-0.3.27-py3-none-any.whl (1.0 MB)\n",
255
+ "Downloading langchain_core-0.3.81-py3-none-any.whl (457 kB)\n",
256
  "Using cached langchain_community-0.3.31-py3-none-any.whl (2.5 MB)\n",
257
  "Using cached langgraph-0.2.76-py3-none-any.whl (153 kB)\n",
258
  "Using cached langchain_openai-0.3.35-py3-none-any.whl (75 kB)\n",
259
  "Using cached langchain_anthropic-0.3.22-py3-none-any.whl (32 kB)\n",
260
  "Using cached langchain_google_vertexai-2.1.2-py3-none-any.whl (104 kB)\n",
261
+ "Downloading gradio-6.2.0-py3-none-any.whl (23.0 MB)\n",
262
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m23.0/23.0 MB\u001b[0m \u001b[31m40.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n",
263
+ "\u001b[?25hDownloading gradio_client-2.0.2-py3-none-any.whl (55 kB)\n",
264
  "Using cached langchain_experimental-0.3.4-py3-none-any.whl (209 kB)\n",
265
  "Using cached langchain_scrapegraph-1.6.0-py3-none-any.whl (20 kB)\n",
266
+ "Installing collected packages: langchain-core, gradio-client, langchain-scrapegraph, langchain-openai, langchain-anthropic, gradio, langgraph, langchain, langchain-google-vertexai, langchain-community, langchain-experimental\n",
267
+ "\u001b[2K Attempting uninstall: gradio-client━━━━━━━━━━━\u001b[0m \u001b[32m 0/11\u001b[0m [langchain-core]\n",
268
+ "\u001b[2K Found existing installation: gradio_client 2.0.12m 0/11\u001b[0m [langchain-core]\n",
269
+ "\u001b[2K Uninstalling gradio_client-2.0.1:━━━━━━━\u001b[0m \u001b[32m 0/11\u001b[0m [langchain-core]\n",
270
+ "\u001b[2K Successfully uninstalled gradio_client-2.0.1[32m 0/11\u001b[0m [langchain-core]\n",
271
+ "\u001b[2K Attempting uninstall: gradio━━━━━━━━━━━━━━\u001b[0m \u001b[32m 0/11\u001b[0m [langchain-core]\n",
272
+ "\u001b[2K Found existing installation: gradio 6.1.0[0m \u001b[32m 0/11\u001b[0m [langchain-core]\n",
273
+ "\u001b[2K Uninstalling gradio-6.1.0:━━━━━━━━━━━━━━\u001b[0m \u001b[32m 0/11\u001b[0m [langchain-core]\n",
274
+ "\u001b[2K Successfully uninstalled gradio-6.1.0━\u001b[0m \u001b[32m 0/11\u001b[0m [langchain-core]\n",
275
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/11\u001b[0m [langchain-experimental]hain-experimental]\n",
276
  "\u001b[1A\u001b[2K\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
277
+ "langchain-classic 1.0.0 requires langchain-core<2.0.0,>=1.0.0, but you have langchain-core 0.3.81 which is incompatible.\n",
278
  "langchain-classic 1.0.0 requires langchain-text-splitters<2.0.0,>=1.0.0, but you have langchain-text-splitters 0.3.11 which is incompatible.\n",
279
+ "langgraph-prebuilt 1.0.5 requires langchain-core>=1.0.0, but you have langchain-core 0.3.81 which is incompatible.\u001b[0m\u001b[31m\n",
280
+ "\u001b[0mSuccessfully installed gradio-6.2.0 gradio-client-2.0.2 langchain-0.3.27 langchain-anthropic-0.3.22 langchain-community-0.3.31 langchain-core-0.3.81 langchain-experimental-0.3.4 langchain-google-vertexai-2.1.2 langchain-openai-0.3.35 langchain-scrapegraph-1.6.0 langgraph-0.2.76\n",
281
  "Note: you may need to restart the kernel to use updated packages.\n"
282
  ]
283
  }
 
304
  },
305
  {
306
  "cell_type": "code",
307
+ "execution_count": 91,
308
  "id": "AWWI1FJ6ChHN",
309
  "metadata": {
310
  "id": "AWWI1FJ6ChHN"
 
316
  "text": [
317
  "Kernel Python: /Users/muhammadarij/cs mac/data-agents/.venv/bin/python\n",
318
  "langchain: 0.3.27\n",
319
+ "langchain-core: 0.3.81\n",
320
  "langchain-community: 0.3.31\n",
321
  "langgraph: 0.2.76\n",
322
  "langchain-openai: 0.3.35\n",
 
353
  },
354
  {
355
  "cell_type": "code",
356
+ "execution_count": 92,
357
  "id": "g9izxdgGCl-V",
358
  "metadata": {
359
  "id": "g9izxdgGCl-V"
 
373
  "import contextlib\n",
374
  "import pandas as pd\n",
375
  "import gradio as gr\n",
376
+ "import json\n",
377
  "from IPython.display import Markdown, HTML, display\n",
378
  "\n",
379
  "from sqlalchemy import (\n",
 
419
  },
420
  {
421
  "cell_type": "code",
422
+ "execution_count": 93,
423
  "id": "5ldGnv_jPlP8",
424
  "metadata": {
425
  "id": "5ldGnv_jPlP8"
 
443
  },
444
  {
445
  "cell_type": "code",
446
+ "execution_count": 94,
447
  "id": "f5e1b596-4568-4078-ae14-b20d25cba62b",
448
  "metadata": {
449
  "id": "f5e1b596-4568-4078-ae14-b20d25cba62b"
 
487
  },
488
  {
489
  "cell_type": "code",
490
+ "execution_count": 95,
491
  "id": "B6dGxRmnyJHS",
492
  "metadata": {
493
  "id": "B6dGxRmnyJHS"
 
634
  },
635
  {
636
  "cell_type": "code",
637
+ "execution_count": 96,
638
  "id": "789b46d9-2189-4d3c-8f77-61b4675bf950",
639
  "metadata": {
640
  "id": "789b46d9-2189-4d3c-8f77-61b4675bf950"
 
646
  "# from langchain_openai import AzureChatOpenAI\n",
647
  "# model = AzureChatOpenAI(...)\n",
648
  "\n",
649
+ "#this methods aims to convert an uploaded file of type csv or json to a panda dataframe.\n",
650
+ "def file_to_df(file_name):\n",
651
+ " path = file_name.name\n",
652
+ " path_lower = path.lower()\n",
653
+ "\n",
654
+ " if path_lower.endswith(\".csv\"):\n",
655
+ " return pd.read_csv(path)\n",
656
+ " if path_lower.endswith(\".json\"):\n",
657
+ " with open(path, \"r\", encoding=\"utf-8\") as file:\n",
658
+ " data = json.load(file)\n",
659
+ " if isinstance(data, dict) and \"records\" in data:\n",
660
+ " data = data[\"records\"]\n",
661
+ " return pd.json_normalize(data)\n",
662
+ " raise ValueError(f\"This file type is not supported: {path}\")\n",
663
+ " \n",
664
+ "\n",
665
  "\n",
666
  "# --- Agent Logic ---\n",
667
  "def ask_agent(files, question):\n",
668
  " try:\n",
669
+ " #dfs = [pd.read_csv(f.name) for f in files]\n",
670
+ " #df = pd.concat(dfs, ignore_index=True) #concatenation of all of the files uploaded into one\n",
671
+ " dfs = [file_to_df(f) for f in files]\n",
672
+ " df = pd.concat(dfs, ignore_index=True)\n",
673
  " except Exception as e:\n",
674
+ " #return f\"❌ Could not read CSVs: {e}\", \"\"\n",
675
+ " return f\"Could not read file(s):{e}\", \"\"\n",
676
  "\n",
677
  " try:\n",
678
  " agent = create_pandas_dataframe_agent(\n",
 
720
  },
721
  {
722
  "cell_type": "code",
723
+ "execution_count": 97,
724
  "id": "uajELHHaJjUS",
725
  "metadata": {
726
  "id": "uajELHHaJjUS"
 
751
  },
752
  {
753
  "cell_type": "code",
754
+ "execution_count": 98,
755
  "id": "35sreALjyVuA",
756
  "metadata": {
757
  "id": "35sreALjyVuA"
 
819
  },
820
  {
821
  "cell_type": "code",
822
+ "execution_count": 99,
823
  "id": "n6sfgj8W4eAA",
824
  "metadata": {
825
  "id": "n6sfgj8W4eAA"
 
906
  },
907
  {
908
  "cell_type": "code",
909
+ "execution_count": 100,
910
  "id": "97vYgZVOUQnT",
911
  "metadata": {
912
  "id": "97vYgZVOUQnT"
 
962
  },
963
  {
964
  "cell_type": "code",
965
+ "execution_count": 101,
966
  "id": "3_PPBrjqC0Os",
967
  "metadata": {
968
  "id": "3_PPBrjqC0Os"
 
1058
  },
1059
  {
1060
  "cell_type": "code",
1061
+ "execution_count": 102,
1062
  "id": "OhM41SDzIQdI",
1063
  "metadata": {
1064
  "id": "OhM41SDzIQdI"
 
1068
  "name": "stderr",
1069
  "output_type": "stream",
1070
  "text": [
1071
+ "/var/folders/lh/4vqv0z990r96ngxb_p223v3m0000gn/T/ipykernel_89879/202340308.py:2: UserWarning: The parameters have been moved from the Blocks constructor to the launch() method in Gradio 6.0: css. Please pass these parameters to launch() instead.\n",
1072
  " with gr.Blocks(\n"
1073
  ]
1074
  },
 
1076
  "name": "stdout",
1077
  "output_type": "stream",
1078
  "text": [
1079
+ "* Running on local URL: http://127.0.0.1:7867\n",
1080
+ "* Running on public URL: https://0f731e580453808cac.gradio.live\n",
1081
  "\n",
1082
  "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"
1083
  ]
 
1085
  {
1086
  "data": {
1087
  "text/html": [
1088
+ "<div><iframe src=\"https://0f731e580453808cac.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
1089
  ],
1090
  "text/plain": [
1091
  "<IPython.core.display.HTML object>"
 
1098
  "data": {
1099
  "text/plain": []
1100
  },
1101
+ "execution_count": 102,
1102
  "metadata": {},
1103
  "output_type": "execute_result"
1104
  }
 
1166
  "\n",
1167
  " with gr.Row(equal_height=True):\n",
1168
  "\n",
1169
+ " file_input = gr.File(label=\" Upload CSV(s) or JSON(s)\", file_types=[\".csv\", \".json\"], file_count=\"multiple\",height=120)\n",
1170
  "\n",
1171
  " question_input = gr.Textbox(label=\"πŸ’¬ Ask Your Agent\",placeholder=\"e.g., What is the trend for revenue over time?\",lines=2)\n",
1172
  "\n",