Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| summarizer_en = pipeline("summarization", model="facebook/bart-large-cnn") | |
| summarizer_ar = pipeline("translation", model="Helsinki-NLP/opus-mt-ar-en") | |
| translator_ar = pipeline("translation", model="Helsinki-NLP/opus-mt-en-ar") | |
| def summarize_text(text, language): | |
| if not text.strip(): | |
| return " الرجاء إدخال نص للتلخيص." | |
| if language == "العربية": | |
| translated_text = summarizer_ar(text)[0]['translation_text'] | |
| summary = summarizer_en(translated_text, min_length=10, max_length=100, do_sample=False) | |
| final_summary = translator_ar(summary[0]['summary_text'])[0]['translation_text'] | |
| else: | |
| summary = summarizer_en(text, min_length=10, max_length=100, do_sample=False) | |
| final_summary = summary[0]['summary_text'] | |
| return final_summary | |
| # Gradio | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Text Summarization App") | |
| gr.Markdown("Enter a long text below, choose the language, and get a summarized version!") | |
| input_text = gr.Textbox(label="Input Text", placeholder="Enter your text here ^^ ...") | |
| language = gr.Dropdown(choices=["العربية", "English"], value="English", label="Select Language") | |
| summarize_btn = gr.Button("Summarize") | |
| output_text = gr.Textbox(label="Summarized Text", interactive=False) | |
| summarize_btn.click(summarize_text, inputs=[input_text, language], outputs=output_text) | |
| if __name__ == "__main__": | |
| demo.launch() | |