Spaces:
Paused
Paused
| import gradio as gr | |
| from transformers import pipeline | |
| import PyPDF2 | |
| qa_object =pipeline("question-answering", model='distilbert-base-cased-distilled-squad') | |
| def extractPDFText(pdffile): | |
| text="" | |
| readPDF=PyPDF2.PdfReader(pdffile) | |
| for pg in readPDF.pages: | |
| txt=pg.extract_text() | |
| if txt: | |
| text += txt +"\n" | |
| return text | |
| def answer_question(pdf,question): | |
| if pdf is None or len(question.strip())==0: | |
| return "Please provide both the PDF and the question." | |
| document = extractPDFText(pdf) | |
| if len(document.strip())==0: | |
| return "The provided PDF was empty." | |
| op=qa_object(question=question, context=document) | |
| return op['answer'] | |
| iface= gr.Interface( | |
| fn=answer_question, | |
| inputs=[ | |
| gr.File(file_types=[".pdf"],label="Upload PDF File"), | |
| gr.Textbox(lines=2,placeholder="Enter your question") | |
| ], | |
| outputs="text", | |
| title="AI powered document question-answering system", | |
| description="Upload a PDF and ask a question. The AI answers based on the PDF content." | |
| ) | |
| iface.launch() | |