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()