Update app.py
Browse files
app.py
CHANGED
@@ -10,6 +10,7 @@ import json
|
|
10 |
import base64 # <-- ADDED IMPORT for image handling
|
11 |
import re
|
12 |
import time
|
|
|
13 |
# Attempt to login using environment token
|
14 |
try:
|
15 |
HF_TOKEN = os.environ.get("HUGGINGFACE_TOKEN")
|
@@ -287,10 +288,29 @@ def my_agent_logic(task_id: str, question: str, files_metadata: list = None): #
|
|
287 |
except Exception as e_txt:
|
288 |
print(f"Error decoding text file {file_name} for task {task_id}: {e_txt}")
|
289 |
gemini_parts.append({"text": user_question_text + f"\n[Agent note: A text file '{file_name}' was associated but could not be decoded: {e_txt}]"})
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
else: # No file content fetched or no files associated
|
295 |
gemini_parts.append({"text": user_question_text})
|
296 |
|
|
|
10 |
import base64 # <-- ADDED IMPORT for image handling
|
11 |
import re
|
12 |
import time
|
13 |
+
import pandas as pd
|
14 |
# Attempt to login using environment token
|
15 |
try:
|
16 |
HF_TOKEN = os.environ.get("HUGGINGFACE_TOKEN")
|
|
|
288 |
except Exception as e_txt:
|
289 |
print(f"Error decoding text file {file_name} for task {task_id}: {e_txt}")
|
290 |
gemini_parts.append({"text": user_question_text + f"\n[Agent note: A text file '{file_name}' was associated but could not be decoded: {e_txt}]"})
|
291 |
+
###########################################################################################################################
|
292 |
+
elif detected_mime_type in [
|
293 |
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
294 |
+
"application/vnd.ms-excel",
|
295 |
+
"text/csv"]:
|
296 |
+
try:
|
297 |
+
from io import BytesIO
|
298 |
+
if "csv" in detected_mime_type:
|
299 |
+
df = pd.read_csv(BytesIO(file_content_bytes))
|
300 |
+
else:
|
301 |
+
df = pd.read_excel(BytesIO(file_content_bytes))
|
302 |
+
|
303 |
+
preview = df.head(10).to_string(index=False)
|
304 |
+
user_question_text += f"\n\nContent preview from the attached spreadsheet '{file_name}':\n{preview}"
|
305 |
+
gemini_parts.append({"text": user_question_text})
|
306 |
+
print(f"Added spreadsheet content preview for {file_name} to Gemini prompt.")
|
307 |
+
except Exception as e_xls:
|
308 |
+
print(f"Error reading spreadsheet file {file_name} for task {task_id}: {e_xls}")
|
309 |
+
user_question_text += f"\n\n[Agent note: Unable to parse spreadsheet '{file_name}': {e_xls}]"
|
310 |
+
gemini_parts.append({"text": user_question_text})
|
311 |
+
|
312 |
+
|
313 |
+
###########################################################################################################################
|
314 |
else: # No file content fetched or no files associated
|
315 |
gemini_parts.append({"text": user_question_text})
|
316 |
|