Spaces:
Running
Running
import gradio as gr | |
from PyPDF2 import PdfReader | |
from transformers import pipeline | |
# Load a pre-trained Question-Answering model | |
qa_pipeline = pipeline("question-answering", model="distilbert-base-uncased-distilled-squad") | |
# Function to process the PDF and answer questions | |
def answer_question(file, question): | |
# Read PDF content | |
pdf_reader = PdfReader(file.name) | |
pdf_text = "" | |
for page in pdf_reader.pages: | |
pdf_text += page.extract_text() | |
# Use the QA pipeline to answer the question | |
result = qa_pipeline(question=question, context=pdf_text) | |
return result["answer"] | |
# Gradio Interface | |
demo = gr.Interface( | |
fn=answer_question, | |
inputs=[ | |
gr.File(label="Upload PDF", file_types=[".pdf"]), | |
gr.Textbox(label="Enter your question"), | |
], | |
outputs="text", | |
title="Ask Questions from PDF", | |
) | |
demo.launch() |