DrishtiSharma commited on
Commit
427da54
·
verified ·
1 Parent(s): ac07dd1

Update app3.py

Browse files
Files changed (1) hide show
  1. app3.py +13 -6
app3.py CHANGED
@@ -11,7 +11,6 @@ from langchain.chains import RetrievalQA
11
  from langchain.schema import Document
12
  import os
13
  import logging
14
- import re
15
 
16
  # Configure logging
17
  logging.basicConfig(level=logging.DEBUG)
@@ -53,7 +52,15 @@ else:
53
  try:
54
  # Load Hugging Face dataset
55
  dataset = load_dataset(dataset_name, split="train", trust_remote_code=True)
56
- st.session_state.df = pd.DataFrame(dataset)
 
 
 
 
 
 
 
 
57
  st.success(f"Dataset '{dataset_name}' loaded successfully!")
58
  st.dataframe(st.session_state.df.head(10))
59
  except Exception as e:
@@ -85,7 +92,7 @@ else:
85
  try:
86
  # Initialize PandasAI Agent
87
  llm = OpenAI(api_key=pandasai_api_key, max_tokens=1500, timeout=60)
88
- agent = Agent(llm) # Corrected initialization
89
 
90
  # Convert the DataFrame into documents for RAG
91
  documents = [
@@ -108,7 +115,7 @@ else:
108
  )
109
 
110
  # Create tabs
111
- tab1, tab2, tab3 = st.tabs(["PandasAI Analysis", "RAG Q&A", "Data Visualization"])
112
 
113
  # Tab 1: PandasAI Analysis
114
  with tab1:
@@ -125,7 +132,7 @@ else:
125
  st.error(f"Error from PandasAI: {e}")
126
  logger.error(f"PandasAI error: {e}")
127
 
128
- # Tab 2: RAG Q&A
129
  with tab2:
130
  st.header("Question Answering using RAG")
131
  rag_question = st.text_input("Ask a question about the data (RAG):")
@@ -153,7 +160,7 @@ else:
153
  viz_code = code_match.group(1)
154
  logger.debug(f"Extracted visualization code: {viz_code}")
155
 
156
- # Modify and validate code for Plotly
157
  viz_code = viz_code.replace('plt.', 'px.')
158
  exec(viz_code) # Execute the visualization code
159
  st.plotly_chart(fig)
 
11
  from langchain.schema import Document
12
  import os
13
  import logging
 
14
 
15
  # Configure logging
16
  logging.basicConfig(level=logging.DEBUG)
 
52
  try:
53
  # Load Hugging Face dataset
54
  dataset = load_dataset(dataset_name, split="train", trust_remote_code=True)
55
+
56
+ # Convert dataset to Pandas DataFrame
57
+ if isinstance(dataset, dict) or isinstance(dataset, list):
58
+ st.session_state.df = pd.DataFrame(dataset)
59
+ elif hasattr(dataset, 'to_pandas'):
60
+ st.session_state.df = dataset.to_pandas()
61
+ else:
62
+ raise ValueError("Invalid input data. Cannot convert it to a DataFrame.")
63
+
64
  st.success(f"Dataset '{dataset_name}' loaded successfully!")
65
  st.dataframe(st.session_state.df.head(10))
66
  except Exception as e:
 
92
  try:
93
  # Initialize PandasAI Agent
94
  llm = OpenAI(api_key=pandasai_api_key, max_tokens=1500, timeout=60)
95
+ agent = Agent(df, llm=llm)
96
 
97
  # Convert the DataFrame into documents for RAG
98
  documents = [
 
115
  )
116
 
117
  # Create tabs
118
+ tab1, tab2, tab3 = st.tabs(["PandasAI Analysis", "RAG QA", "Data Visualization"])
119
 
120
  # Tab 1: PandasAI Analysis
121
  with tab1:
 
132
  st.error(f"Error from PandasAI: {e}")
133
  logger.error(f"PandasAI error: {e}")
134
 
135
+ # Tab 2: RAG QA
136
  with tab2:
137
  st.header("Question Answering using RAG")
138
  rag_question = st.text_input("Ask a question about the data (RAG):")
 
160
  viz_code = code_match.group(1)
161
  logger.debug(f"Extracted visualization code: {viz_code}")
162
 
163
+ # Safeguard: Modify and validate code for Plotly
164
  viz_code = viz_code.replace('plt.', 'px.')
165
  exec(viz_code) # Execute the visualization code
166
  st.plotly_chart(fig)