sourav2005 commited on
Commit
342f78f
·
verified ·
1 Parent(s): c3f2c28

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -2
app.py CHANGED
@@ -1,4 +1,41 @@
 
 
1
  import streamlit as st
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
- x = st.slider('Select a value')
4
- st.write(x, 'squared is', x * x)
 
 
 
 
 
 
1
+ # app.py
2
+
3
  import streamlit as st
4
+ import pdfplumber
5
+ from transformers import pipeline
6
+
7
+ # Load QA model pipeline
8
+ qa_pipeline = pipeline("question-answering", model="deepset/roberta-base-squad2")
9
+
10
+ st.title("📄 PDF Question Answering using LLM")
11
+
12
+ uploaded_pdf = st.file_uploader("Upload a PDF", type=["pdf"])
13
+
14
+ if uploaded_pdf:
15
+ # Extract text from PDF
16
+ with pdfplumber.open(uploaded_pdf) as pdf:
17
+ extracted_text = ""
18
+ for page in pdf.pages:
19
+ extracted_text += page.extract_text() + "\n"
20
+
21
+ # Store extracted text in session
22
+ st.session_state['document_text'] = extracted_text
23
+
24
+ st.success("✅ PDF uploaded and text extracted successfully!")
25
+
26
+ # Display preview
27
+ with st.expander("📄 Preview Extracted Text"):
28
+ st.write(extracted_text[:1500] + "...")
29
+
30
+ # Ask questions about the PDF
31
+ if 'document_text' in st.session_state:
32
+ st.subheader("💬 Ask a question based on the uploaded PDF")
33
+ user_question = st.text_input("Enter your question")
34
 
35
+ if user_question:
36
+ with st.spinner("Generating answer..."):
37
+ result = qa_pipeline({
38
+ "question": user_question,
39
+ "context": st.session_state['document_text']
40
+ })
41
+ st.markdown(f"**Answer:** {result['answer']}")