assignment2 / app.py
SharifahMal's picture
Create app.py
f1ef383 verified
import gradio as gr
# Load model directly
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("ahmedabdo/arabic-summarizer-bart")
model = AutoModelForSeq2SeqLM.from_pretrained("ahmedabdo/arabic-summarizer-bart")
def summarize_text(text, min_length, max_length):
if not text.strip():
return "Please enter some text to summarize."
summary = summarizer(text, min_length=min_length, max_length=max_length, truncation=True)
return summary[0]["summary_text"]
# Define the Gradio interface
with gr.Blocks() as demo:
gr.Markdown("# تلخيص النصوص باستخدام نموذج BART")
with gr.Row():
input_text = gr.Textbox(label="أدخل النص", placeholder="ضع النص هنا", lines=10)
min_length_slider = gr.Slider(10, 50, value=10, step=1, label="Minimum Summary Length (tokens)")
max_length_slider = gr.Slider(50, 150, value=100, step=1, label="Maximum Summary Length (tokens)")
summarize_button = gr.Button("أبدا التلخيص")
output_text = gr.Textbox(label="تلخيص النص", interactive=False)
summarize_button.click(summarize_text, inputs=[input_text, min_length_slider, max_length_slider], outputs=output_text)
# Launch the app
demo.launch()