File size: 1,291 Bytes
f1ef383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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()