Naman Pundir
Update app.py
f658876
raw
history blame
1.41 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
# Define the models and their corresponding names
models = {
"Model 1 (facebook/bart-large-cnn)": {
"model_name": "facebook/bart-large-cnn",
"description": "Model 1",
},
"Model 2 ()": {
"model_name": "google/pegasus-multi_news",
"description": "Model 2",
},
}
# Define the Gradio interface
def summarize_text(input_text, selected_model):
# Get the selected model and its tokenizer
model_info = models[selected_model]
tokenizer = AutoTokenizer.from_pretrained(model_info["model_name"])
model = AutoModelForSeq2SeqLM.from_pretrained(model_info["model_name"])
# Tokenize and generate summary
input_ids = tokenizer.encode(input_text, return_tensors="pt", max_length=1024, truncation=True)
summary_ids = model.generate(input_ids, max_length=10, min_length=1, length_penalty=1.0, num_beams=4, early_stopping=True)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
return summary
iface = gr.Interface(
fn=summarize_text,
inputs=[gr.inputs.Textbox(label="Input Text"), gr.inputs.Radio(model_names, label="Select Model")],
outputs="text",
title="Text Summarization App",
description="Choose a model for text summarization and enter the text to summarize.",
)
if __name__ == "__main__":
iface.launch()