Muhammad Anas Akhtar
Updated app.py
36ba936 verified
import torch
import gradio as gr
from transformers import pipeline
# Initialize the summarization pipeline
Text_summary = pipeline("summarization", model="facebook/bart-large-cnn", torch_dtype=torch.bfloat16)
# Define a function to estimate token count from word count
def estimate_tokens(word_count):
# Approximate tokens as 1.5 times the word count
return int(word_count * 1)
# Define the summarization function
def summary(input, word_count):
# Convert word count to token count
max_length = estimate_tokens(word_count)
min_length = max(10, max_length // 2) # Set a reasonable minimum length
output = Text_summary(input, max_length=max_length, min_length=min_length)
return output[0]['summary_text']
# Close any existing Gradio instances
gr.close_all()
# Set up the Gradio interface
Demo = gr.Interface(
fn=summary,
inputs=[
gr.Textbox(label="Input Text To Summarize", lines=20),
gr.Slider(
label="Summary Length (Words Approx.)",
minimum=50, maximum=300, step=10, value=130
)
],
outputs=[gr.Textbox(label="Summarized Text", lines=4)],
title="Text_Summarize_App",
description="THIS APPLICATION WILL BE USED TO SUMMARIZE THE TEXT"
)
# Launch the app with a public link
Demo.launch(share=True)