Ani14 commited on
Commit
e299c31
Β·
verified Β·
1 Parent(s): bce88e7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py CHANGED
@@ -442,6 +442,51 @@ if st.button("Ask"):
442
  except Exception as e:
443
  st.error(f"Follow-up error: {e}")
444
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
445
  # --- Optional: View Chat History ---
446
  with st.expander("πŸ“œ View Full Chat History", expanded=False):
447
  for msg in st.session_state.chat_history:
 
442
  except Exception as e:
443
  st.error(f"Follow-up error: {e}")
444
 
445
+ # --- Paper Upload for Review & Improvement ---
446
+ st.divider()
447
+ st.subheader("πŸ“€ Upload Your Paper for Feedback")
448
+
449
+ uploaded_file = st.file_uploader("Upload your research paper (.pdf or .txt)", type=["pdf", "txt"])
450
+
451
+ if uploaded_file and st.button("🧠 Analyze and Suggest Improvements"):
452
+ try:
453
+ def extract_text_from_file(file):
454
+ if file.name.endswith(".pdf"):
455
+ from PyPDF2 import PdfReader
456
+ reader = PdfReader(file)
457
+ return "\n".join([page.extract_text() for page in reader.pages if page.extract_text()])
458
+ elif file.name.endswith(".txt"):
459
+ return file.read().decode("utf-8")
460
+ return ""
461
+
462
+ paper_text = extract_text_from_file(uploaded_file)
463
+
464
+ if not paper_text or len(paper_text.strip()) < 100:
465
+ st.warning("⚠️ The uploaded paper seems empty or too short to analyze.")
466
+ else:
467
+ feedback_prompt = [
468
+ {"role": "system", "content": "You are an expert academic advisor."},
469
+ {"role": "user", "content": f"""I have written the following research paper. Please analyze it and provide detailed suggestions on:
470
+ - Areas where the paper is weak or unclear
471
+ - How to improve the novelty or originality
472
+ - Structural improvements or better ways to present arguments
473
+
474
+ Be honest and constructive. Here's the full text:
475
+
476
+ \"\"\"{paper_text}\"\"\""""}
477
+ ]
478
+
479
+ with st.status("πŸ”Ž Analyzing your paper..."):
480
+ improvement_output = ""
481
+ feedback_box = st.empty()
482
+ for chunk in call_llm(feedback_prompt, max_tokens=2500):
483
+ improvement_output += chunk
484
+ feedback_box.markdown(improvement_output, unsafe_allow_html=True)
485
+
486
+ except Exception as e:
487
+ st.error(f"❌ Error while analyzing paper: {e}")
488
+
489
+
490
  # --- Optional: View Chat History ---
491
  with st.expander("πŸ“œ View Full Chat History", expanded=False):
492
  for msg in st.session_state.chat_history: