Download app.py from engrtm/pdfQA: direct link, hf CLI and curl.
- Browser
- Download file 992 Bytes
-
https://huggingface.co/spaces/engrtm/pdfQA/resolve/main/app.py
- Command line
-
hf download hf://spaces/engrtm/pdfQA/app.py
-
curl -L -o app.py https://huggingface.co/spaces/engrtm/pdfQA/resolve/main/app.py
992 Bytes
| import streamlit as st | |
| from pdf_reader import extract_text_from_pdf | |
| from qa_utils import split_text, create_vector_store, answer_question | |
| st.set_page_config(page_title="📄 PDF Q&A App") | |
| st.title("📄 Ask Questions from PDF") | |
| # Upload PDF | |
| uploaded_file = st.file_uploader("Upload a PDF file", type="pdf") | |
| # Load and process PDF | |
| if uploaded_file and "vectorstore" not in st.session_state: | |
| with st.spinner("Reading and processing the PDF..."): | |
| text = extract_text_from_pdf(uploaded_file) | |
| chunks = split_text(text) | |
| vectorstore = create_vector_store(chunks) | |
| st.session_state.vectorstore = vectorstore | |
| st.success("✅ PDF loaded and ready for questions!") | |
| # Ask questions | |
| if "vectorstore" in st.session_state: | |
| query = st.text_input("Ask a question about the PDF:") | |
| if query: | |
| with st.spinner("Generating answer..."): | |
| answer = answer_question(st.session_state.vectorstore, query) | |
| st.write("**Answer:**", answer) | |