Spaces:
Sleeping
Update app.py
Browse filesdef load_pdf(files, state):
if not files:
return "No file uploaded.", state, list(state["files"].keys())
try:
# Deduplicate by file path
unique_files = list({f['name']: f for f in files}.values())
for file in unique_files:
filename = os.path.basename(file['name']) # FIX
text = read_pdf(file['name'])
new_chunks = chunk_text(text)
if not new_chunks:
continue
state["files"][filename] = new_chunks
state["chunks"].extend(new_chunks)
state["pdf_count"] += 1
index, _ = build_vectorstore(state["chunks"])
state["index"] = index
return (
f"{state['pdf_count']} PDF(s) loaded. Total chunks: {len(state['chunks'])}",
state,
list(state["files"].keys()) # FIX: now contains real filenames
)
except Exception as e:
return (
f"Error processing PDF: {e}",
state,
list(state["files"].keys())
)
|
@@ -151,10 +151,13 @@ def load_pdf(files, state):
|
|
| 151 |
return "No file uploaded.", state, list(state["files"].keys())
|
| 152 |
|
| 153 |
try:
|
| 154 |
-
|
| 155 |
-
|
| 156 |
|
| 157 |
-
|
|
|
|
|
|
|
|
|
|
| 158 |
new_chunks = chunk_text(text)
|
| 159 |
|
| 160 |
if not new_chunks:
|
|
@@ -170,7 +173,7 @@ def load_pdf(files, state):
|
|
| 170 |
return (
|
| 171 |
f"{state['pdf_count']} PDF(s) loaded. Total chunks: {len(state['chunks'])}",
|
| 172 |
state,
|
| 173 |
-
list(state["files"].keys()) #
|
| 174 |
)
|
| 175 |
|
| 176 |
except Exception as e:
|
|
|
|
| 151 |
return "No file uploaded.", state, list(state["files"].keys())
|
| 152 |
|
| 153 |
try:
|
| 154 |
+
# Deduplicate by file path
|
| 155 |
+
unique_files = list({f['name']: f for f in files}.values())
|
| 156 |
|
| 157 |
+
for file in unique_files:
|
| 158 |
+
filename = os.path.basename(file['name']) # FIX
|
| 159 |
+
|
| 160 |
+
text = read_pdf(file['name'])
|
| 161 |
new_chunks = chunk_text(text)
|
| 162 |
|
| 163 |
if not new_chunks:
|
|
|
|
| 173 |
return (
|
| 174 |
f"{state['pdf_count']} PDF(s) loaded. Total chunks: {len(state['chunks'])}",
|
| 175 |
state,
|
| 176 |
+
list(state["files"].keys()) # FIX: now contains real filenames
|
| 177 |
)
|
| 178 |
|
| 179 |
except Exception as e:
|