Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -200,8 +200,8 @@ def run_chatbot(retriever, pc, llm):
|
|
| 200 |
{context}
|
| 201 |
</context>
|
| 202 |
|
| 203 |
-
Important:
|
| 204 |
-
|
| 205 |
Answer the following question:
|
| 206 |
|
| 207 |
{question}""")
|
|
@@ -262,6 +262,19 @@ def process_and_chat():
|
|
| 262 |
# Get current uploaded filenames
|
| 263 |
current_uploaded_filenames = {file.name for file in uploaded_files} if uploaded_files else set()
|
| 264 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 265 |
# Process newly uploaded files
|
| 266 |
if uploaded_files:
|
| 267 |
files_added = False
|
|
@@ -279,8 +292,13 @@ def process_and_chat():
|
|
| 279 |
# Check for changes in files
|
| 280 |
current_files = set(st.session_state.uploaded_files.keys())
|
| 281 |
|
| 282 |
-
#
|
| 283 |
-
if current_files != st.session_state.previous_files:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 284 |
st.session_state.previous_files = current_files
|
| 285 |
|
| 286 |
if current_files:
|
|
@@ -291,7 +309,6 @@ def process_and_chat():
|
|
| 291 |
st.session_state.processing = False
|
| 292 |
else:
|
| 293 |
st.warning('Please upload a file to continue')
|
| 294 |
-
st.session_state.chat_enabled = False
|
| 295 |
|
| 296 |
# If files exist and chat is enabled, show chat interface
|
| 297 |
if current_files and st.session_state.chat_enabled:
|
|
@@ -319,6 +336,8 @@ def process_and_chat():
|
|
| 319 |
st.session_state.chat_enabled = False
|
| 320 |
# Clear the previous files to force reprocessing
|
| 321 |
st.session_state.previous_files = set()
|
|
|
|
|
|
|
| 322 |
|
| 323 |
# Call the main function
|
| 324 |
process_and_chat()
|
|
|
|
| 200 |
{context}
|
| 201 |
</context>
|
| 202 |
|
| 203 |
+
Important: Don't start revealing context in your responses until its asked. First look at the question and then think if the context is needed to answer this or its a normal question, once you have judged then only answer the question.
|
| 204 |
+
|
| 205 |
Answer the following question:
|
| 206 |
|
| 207 |
{question}""")
|
|
|
|
| 262 |
# Get current uploaded filenames
|
| 263 |
current_uploaded_filenames = {file.name for file in uploaded_files} if uploaded_files else set()
|
| 264 |
|
| 265 |
+
# Check for removed files
|
| 266 |
+
files_to_remove = set(st.session_state.uploaded_files.keys()) - current_uploaded_filenames
|
| 267 |
+
if files_to_remove:
|
| 268 |
+
for file_name in files_to_remove:
|
| 269 |
+
# Remove file from session state
|
| 270 |
+
if file_name in st.session_state.uploaded_files:
|
| 271 |
+
# Delete the file from data directory
|
| 272 |
+
file_path = st.session_state.uploaded_files[file_name]["path"]
|
| 273 |
+
if os.path.exists(file_path):
|
| 274 |
+
os.remove(file_path)
|
| 275 |
+
# Remove from session state
|
| 276 |
+
del st.session_state.uploaded_files[file_name]
|
| 277 |
+
|
| 278 |
# Process newly uploaded files
|
| 279 |
if uploaded_files:
|
| 280 |
files_added = False
|
|
|
|
| 292 |
# Check for changes in files
|
| 293 |
current_files = set(st.session_state.uploaded_files.keys())
|
| 294 |
|
| 295 |
+
# If files have changed (added or removed), reset chat and process documents
|
| 296 |
+
if current_files != st.session_state.previous_files or files_to_remove:
|
| 297 |
+
# Reset chat state
|
| 298 |
+
st.session_state.chat_enabled = False
|
| 299 |
+
if "messages" in st.session_state:
|
| 300 |
+
del st.session_state.messages
|
| 301 |
+
|
| 302 |
st.session_state.previous_files = current_files
|
| 303 |
|
| 304 |
if current_files:
|
|
|
|
| 309 |
st.session_state.processing = False
|
| 310 |
else:
|
| 311 |
st.warning('Please upload a file to continue')
|
|
|
|
| 312 |
|
| 313 |
# If files exist and chat is enabled, show chat interface
|
| 314 |
if current_files and st.session_state.chat_enabled:
|
|
|
|
| 336 |
st.session_state.chat_enabled = False
|
| 337 |
# Clear the previous files to force reprocessing
|
| 338 |
st.session_state.previous_files = set()
|
| 339 |
+
if "messages" in st.session_state:
|
| 340 |
+
del st.session_state.messages
|
| 341 |
|
| 342 |
# Call the main function
|
| 343 |
process_and_chat()
|