Project2 / app.py
SarahMarzouq's picture
Update app.py
d65550f verified
raw
history blame
3.06 kB
import gradio as gr
from transformers import pipeline
import torch
from diffusers import DiffusionPipeline
from transformers import pipeline, AutoTokenizer
headline_gen = pipeline("text2text-generation", model="Michau/t5-base-en-generate-headline")
ar_to_en_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ar-en")
en_to_ar_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-ar")
pipe_image = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
def generate_headline(selected_language, text):
if selected_language == "Arabic":
translated_text = translate_ar_to_en(text) # Translate Arabic to English
english_headline = generate_headline_english(translated_text) # Generate headline in English
arabic_headline = translate_en_to_ar(english_headline) # Translate headline back to Arabic
image = generate_image(english_headline) # Generate image based on English headline
return arabic_headline, image
elif selected_language == "English":
english_headline = generate_headline_english(text)
image = generate_image(english_headline)
return english_headline, image
def translate_ar_to_en(text):
var_ar_to_en = ar_to_en_translator(text)[0]['translation_text']
return var_ar_to_en
def translate_en_to_ar(text):
var_en_to_ar - en_to_ar_translator(text)[0]['translation_text']
return var_en_to_ar
def generate_headline_english(text):
result1 = headline_gen(text, max_length=100, truncation=True)
result2 = result1[0]['generated_text']
return result2
def generate_image(text):
my_image = pipe_image(text).images[0]
return my_image
examples = [
#First parameter is for the dropdown menu, and the second parameter is for the starter of the poem
["Arabic", "تعتبر انبعاثات الغازات الدفيئة، مثل ثاني أكسيد الكربون (CO2) والميثان (CH4)، من الأسباب الرئيسية لتغير المناخ العالمي. تؤدي الأنشطة البشرية، مثل حرق الوقود الأحفوري لإنتاج الطاقة وإزالة الغابات والعمليات الصناعية، إلى زيادة كبيرة في تركيز هذه الغازات في الغلاف الجوي. وفقًا للهيئة الحكومية الدولية المعنية بتغير المناخ (IPCC)، ارتفعت مستويات ثاني أكسيد الكربون بأكثر من 50٪ منذ عصر ما قبل الصناعة، مما ساهم في ارتفاع درجات الحرارة العالمية."]
]
interface = gr.Interface(
fn=generate_headline,
inputs=[
gr.Dropdown(choices=["Arabic", "English"], label="Select Language"),
gr.Textbox(lines=5, placeholder="Enter article text here...")
],
outputs=[
gr.Textbox(label="Generated Headline"),
gr.Image(label="Generated Image")
],
examples=examples
)
interface.launch()
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)