PRIYANSHUDHAKED's picture
Update app.py
fec2f9f verified
import gradio as gr
from transformers import pipeline
# Initialize summarization pipeline
summarizer = pipeline("summarization", model="t5-small", revision="main")
# Function to summarize text
def summarize_text(text, model):
summary = model(text)[0]['summary_text']
return summary
# Function to read PDF and summarize
def summarize_pdf(pdf_file, model):
import fitz # PyMuPDF
with fitz.open(pdf_file.name) as doc:
text = ""
for page in doc:
text += page.get_text()
return summarize_text(text, model)
# Gradio Interface
def summarize(input_text, uploaded_file):
if input_text:
summary = summarize_text(input_text, summarizer)
else:
summary = summarize_pdf(uploaded_file, summarizer)
return summary
inputs = [
gr.Textbox(lines=10, label="Enter Text to Summarize"),
gr.File(label="Upload PDF file")
]
output = gr.Textbox(label="Summary")
gr.Interface(
fn=summarize,
inputs=inputs,
outputs=output,
title="Text Summarization App",
description="Summarize text or PDF files using pre-trained models.",
theme="compact", # Example theme
).launch('share=True')