|
import streamlit as st |
|
from transformers import pipeline |
|
from PyPDF2 import PdfReader |
|
import tempfile |
|
|
|
|
|
qa_pipeline = pipeline("question-answering", model="distilbert-base-uncased-distilled-squad") |
|
|
|
|
|
def extract_text_from_pdf(file_path): |
|
with open(file_path, "rb") as f: |
|
reader = PdfReader(f) |
|
text = [page.extract_text() for page in reader.pages if page.extract_text() is not None] |
|
return " ".join(text) |
|
|
|
|
|
st.title('Car Repair Query System') |
|
|
|
uploaded_file = st.file_uploader("Choose a PDF file", type="pdf") |
|
if uploaded_file is not None: |
|
with tempfile.NamedTemporaryFile(delete=False, suffix=".pdf") as tmp_file: |
|
tmp_file.write(uploaded_file.getvalue()) |
|
document_text = extract_text_from_pdf(tmp_file.name) |
|
|
|
st.success('Document uploaded and processed. You can now ask questions.') |
|
st.write('### Ask a Question') |
|
question = st.text_input("What is your question?") |
|
|
|
if st.button('Answer Question'): |
|
if question: |
|
answer = qa_pipeline(question=question, context=document_text) |
|
st.write("Answer:", answer['answer']) |
|
else: |
|
st.write("Please enter a question.") |
|
else: |
|
st.write("Please upload a PDF document to begin.") |
|
|
|
|
|
|