Sarath0x8f commited on
Commit
912b2d3
Β·
verified Β·
1 Parent(s): a6ab84c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -8
app.py CHANGED
@@ -53,7 +53,6 @@ file_extractor = {
53
  # Markdown content definitions
54
  description = """
55
  ## Welcome to DocBot πŸ“„πŸ€–
56
-
57
  DocBot is an intelligent document analysis tool that can help you extract insights from various document formats including:
58
  - PDF documents
59
  - Word documents (.docx, .doc)
@@ -63,19 +62,16 @@ DocBot is an intelligent document analysis tool that can help you extract insigh
63
  - PowerPoint presentations
64
  - HTML files
65
  - Images with text (JPG, PNG, WebP, SVG)
66
-
67
  Simply upload your document, select your preferred embedding model and LLM, then start asking questions!
68
  """
69
 
70
  guide = """
71
  ### How to Use DocBot:
72
-
73
  1. **Upload Document**: Choose any supported file format
74
  2. **Select Embedding Model**: Choose from available embedding models (BAAI/bge-small-en-v1.5 is recommended for most cases)
75
  3. **Submit**: Click submit to process your document
76
  4. **Select LLM**: Choose your preferred language model
77
  5. **Ask Questions**: Start chatting with your document!
78
-
79
  ### Tips:
80
  - Smaller embedding models (like bge-small-en-v1.5) are faster but may be less accurate
81
  - Larger models provide better understanding but take more time
@@ -165,6 +161,10 @@ def encode_image_safe(image_path):
165
  pass
166
  return ""
167
 
 
 
 
 
168
  # Encode the images (with fallback for missing images)
169
  github_logo_encoded = encode_image_safe("Images/github-logo.png")
170
  linkedin_logo_encoded = encode_image_safe("Images/linkedin-logo.png")
@@ -208,7 +208,7 @@ with gr.Blocks(
208
 
209
  with gr.Row():
210
  btn = gr.Button("πŸš€ Process Document", variant='primary', size="lg")
211
- clear = gr.ClearButton("πŸ—‘οΈ Clear", size="lg")
212
 
213
  output = gr.Textbox(
214
  label='Processing Status',
@@ -246,7 +246,7 @@ with gr.Blocks(
246
 
247
  with gr.Row():
248
  submit_btn = gr.Button("Send", variant="primary")
249
- clear_chat = gr.ClearButton([msg, chatbot], value="Clear Chat")
250
 
251
  # Add footer if images exist
252
  if any([github_logo_encoded, linkedin_logo_encoded, website_logo_encoded]):
@@ -261,6 +261,9 @@ with gr.Blocks(
261
  history.append([message, response])
262
  return history, ""
263
 
 
 
 
264
  # Event bindings
265
  llm_model_dropdown.change(
266
  fn=set_llm_model,
@@ -286,10 +289,15 @@ with gr.Blocks(
286
  outputs=[chatbot, msg]
287
  )
288
 
289
- clear.click(
290
- lambda: [None, None, ""],
291
  outputs=[file_input, embed_model_dropdown, output]
292
  )
 
 
 
 
 
293
 
294
  # Launch the demo
295
  if __name__ == "__main__":
 
53
  # Markdown content definitions
54
  description = """
55
  ## Welcome to DocBot πŸ“„πŸ€–
 
56
  DocBot is an intelligent document analysis tool that can help you extract insights from various document formats including:
57
  - PDF documents
58
  - Word documents (.docx, .doc)
 
62
  - PowerPoint presentations
63
  - HTML files
64
  - Images with text (JPG, PNG, WebP, SVG)
 
65
  Simply upload your document, select your preferred embedding model and LLM, then start asking questions!
66
  """
67
 
68
  guide = """
69
  ### How to Use DocBot:
 
70
  1. **Upload Document**: Choose any supported file format
71
  2. **Select Embedding Model**: Choose from available embedding models (BAAI/bge-small-en-v1.5 is recommended for most cases)
72
  3. **Submit**: Click submit to process your document
73
  4. **Select LLM**: Choose your preferred language model
74
  5. **Ask Questions**: Start chatting with your document!
 
75
  ### Tips:
76
  - Smaller embedding models (like bge-small-en-v1.5) are faster but may be less accurate
77
  - Larger models provide better understanding but take more time
 
161
  pass
162
  return ""
163
 
164
+ # Clear function for file processing components
165
+ def clear_file_components():
166
+ return None, embed_models[0], ""
167
+
168
  # Encode the images (with fallback for missing images)
169
  github_logo_encoded = encode_image_safe("Images/github-logo.png")
170
  linkedin_logo_encoded = encode_image_safe("Images/linkedin-logo.png")
 
208
 
209
  with gr.Row():
210
  btn = gr.Button("πŸš€ Process Document", variant='primary', size="lg")
211
+ clear_btn = gr.Button("πŸ—‘οΈ Clear", size="lg")
212
 
213
  output = gr.Textbox(
214
  label='Processing Status',
 
246
 
247
  with gr.Row():
248
  submit_btn = gr.Button("Send", variant="primary")
249
+ clear_chat_btn = gr.Button("Clear Chat")
250
 
251
  # Add footer if images exist
252
  if any([github_logo_encoded, linkedin_logo_encoded, website_logo_encoded]):
 
261
  history.append([message, response])
262
  return history, ""
263
 
264
+ def clear_chat():
265
+ return [], ""
266
+
267
  # Event bindings
268
  llm_model_dropdown.change(
269
  fn=set_llm_model,
 
289
  outputs=[chatbot, msg]
290
  )
291
 
292
+ clear_btn.click(
293
+ fn=clear_file_components,
294
  outputs=[file_input, embed_model_dropdown, output]
295
  )
296
+
297
+ clear_chat_btn.click(
298
+ fn=clear_chat,
299
+ outputs=[chatbot, msg]
300
+ )
301
 
302
  # Launch the demo
303
  if __name__ == "__main__":