Scarletta975 commited on
Commit
c2df356
·
verified ·
1 Parent(s): 644e5c3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -10
app.py CHANGED
@@ -11,14 +11,14 @@ from langchain.document_loaders import PyPDFLoader
11
  from langchain.text_splitter import RecursiveCharacterTextSplitter
12
  from transformers import T5Tokenizer, T5ForConditionalGeneration
13
  from transformers import pipeline
14
- from reportlab.pdfgen import canvas # for PDF export
15
 
16
 
17
  # --- Streamlit Page Config ---
18
  st.set_page_config(layout="wide")
19
 
20
 
21
- # Load the tokenizer and model
22
  @st.cache_resource
23
  def load_model(checkpoint="Lamini-1"):
24
  tokenizer = T5Tokenizer.from_pretrained(checkpoint)
@@ -109,23 +109,32 @@ st.sidebar.image("Images/sidebar_pic.png")
109
  st.sidebar.title("ABOUT THE APP")
110
  st.sidebar.write(
111
  "SummaScribe: Your PDF wingman! 🚀 Now with **chunk-wise recursive summarization** "
112
- "and inline PDF preview (first 5 pages)."
113
  )
114
  selected_summary_length = st.sidebar.slider("SELECT SUMMARY STRENGTH", min_value=200, max_value=1500, value=500)
115
 
116
 
117
- # Display PDF as images
118
  def display(file):
119
  try:
120
- images = convert_from_path(file, dpi=120, first_page=1, last_page=10)
121
- st.write("Preview (first 5 pages):")
122
  for i, img in enumerate(images):
123
- st.image(img, caption=f"Page {i+1}", use_column_width=True)
124
- if len(images) == 5:
125
- st.info("Preview limited to first 5 pages. Download full PDF to view all.")
 
 
 
 
 
 
 
 
 
 
126
  except Exception as e:
127
  st.error(f"Could not render PDF preview: {e}")
128
- # fallback to download
129
  with open(file, "rb") as f:
130
  st.download_button(
131
  label="Download Uploaded PDF",
 
11
  from langchain.text_splitter import RecursiveCharacterTextSplitter
12
  from transformers import T5Tokenizer, T5ForConditionalGeneration
13
  from transformers import pipeline
14
+ from reportlab.pdfgen import canvas
15
 
16
 
17
  # --- Streamlit Page Config ---
18
  st.set_page_config(layout="wide")
19
 
20
 
21
+ # Load the tokenizer and model (cached to avoid reloads on rerun)
22
  @st.cache_resource
23
  def load_model(checkpoint="Lamini-1"):
24
  tokenizer = T5Tokenizer.from_pretrained(checkpoint)
 
109
  st.sidebar.title("ABOUT THE APP")
110
  st.sidebar.write(
111
  "SummaScribe: Your PDF wingman! 🚀 Now with **chunk-wise recursive summarization** "
112
+ "and inline PDF preview (first 10 pages)."
113
  )
114
  selected_summary_length = st.sidebar.slider("SELECT SUMMARY STRENGTH", min_value=200, max_value=1500, value=500)
115
 
116
 
117
+ # Display PDF as images
118
  def display(file):
119
  try:
120
+ images = convert_from_path(file, dpi=100, first_page=1, last_page=10)
121
+ img_tags = ""
122
  for i, img in enumerate(images):
123
+ buf = io.BytesIO()
124
+ img.save(buf, format="PNG")
125
+ b64 = base64.b64encode(buf.getvalue()).decode()
126
+ img_tags += f'<img src="data:image/png;base64,{b64}" style="height:500px; margin-right:10px;" />'
127
+
128
+ html = f"""
129
+ <div style="display:flex; overflow-x:auto; white-space:nowrap; border:1px solid #ccc; padding:10px;">
130
+ {img_tags}
131
+ </div>
132
+ """
133
+
134
+ st.components.v1.html(html, height=550, scrolling=True)
135
+
136
  except Exception as e:
137
  st.error(f"Could not render PDF preview: {e}")
 
138
  with open(file, "rb") as f:
139
  st.download_button(
140
  label="Download Uploaded PDF",