Update app.py
Browse files
app.py
CHANGED
@@ -19,7 +19,7 @@ def load_huggingface_dataset(dataset_name):
|
|
19 |
try:
|
20 |
# Incrementally update progress
|
21 |
progress_bar.progress(10)
|
22 |
-
dataset = load_dataset(dataset_name, name="sample", split="train", trust_remote_code=True
|
23 |
progress_bar.progress(50)
|
24 |
if hasattr(dataset, "to_pandas"):
|
25 |
df = dataset.to_pandas()
|
@@ -123,9 +123,34 @@ if "df" in st.session_state:
|
|
123 |
if st.button("Run Query"):
|
124 |
with st.spinner("Running query..."):
|
125 |
try:
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
except Exception as e:
|
131 |
-
st.error(f"Error executing query: {e}")
|
|
|
19 |
try:
|
20 |
# Incrementally update progress
|
21 |
progress_bar.progress(10)
|
22 |
+
dataset = load_dataset(dataset_name, name="sample", split="train", trust_remote_code=True)
|
23 |
progress_bar.progress(50)
|
24 |
if hasattr(dataset, "to_pandas"):
|
25 |
df = dataset.to_pandas()
|
|
|
123 |
if st.button("Run Query"):
|
124 |
with st.spinner("Running query..."):
|
125 |
try:
|
126 |
+
# Check if the dataset is too large and split if needed
|
127 |
+
max_rows = 1000 # Limit chunk size to manage token limits
|
128 |
+
total_rows = len(df)
|
129 |
+
|
130 |
+
if total_rows > max_rows:
|
131 |
+
results = []
|
132 |
+
for start in range(0, total_rows, max_rows):
|
133 |
+
chunk = df.iloc[start:start + max_rows]
|
134 |
+
chunk.to_csv("chunk_data.csv", index=False)
|
135 |
+
partial_agent = create_csv_agent(
|
136 |
+
ChatOpenAI(temperature=0, model="gpt-4", api_key=os.getenv("OPENAI_API_KEY")),
|
137 |
+
path=["chunk_data.csv"],
|
138 |
+
verbose=True,
|
139 |
+
agent_type=AgentType.OPENAI_FUNCTIONS,
|
140 |
+
allow_dangerous_code=True
|
141 |
+
)
|
142 |
+
result = partial_agent.invoke(query)
|
143 |
+
results.append(result)
|
144 |
+
|
145 |
+
st.success("Query executed successfully!")
|
146 |
+
st.write("### Combined Query Results:")
|
147 |
+
st.write("\n".join(results))
|
148 |
+
|
149 |
+
else:
|
150 |
+
result = csv_agent.invoke(query)
|
151 |
+
st.success("Query executed successfully!")
|
152 |
+
st.write("### Query Result:")
|
153 |
+
st.write(result)
|
154 |
+
|
155 |
except Exception as e:
|
156 |
+
st.error(f"Error executing query: {e}")
|