24Sureshkumar's picture
Update app.py
ab46a3f verified
raw
history blame
1.88 kB
import gradio as gr
from core import translate_tamil_to_english, generate_image, generate_creative_text
def full_pipeline(tamil_text, reference_text=None):
if not tamil_text.strip():
return "Please enter Tamil text.", None, None, None, None, None, None, None, None
# Step 1: Translate Tamil to English
en_text, t_time, rouge_score = translate_tamil_to_english(tamil_text, reference_text)
# Step 2: Generate Image from English translation
image_path, img_time = generate_image(en_text)
# Step 3: Generate creative text from English translation
gen_text, gen_time, tokens, rep = generate_creative_text(en_text)
return en_text, t_time, rouge_score, image_path, img_time, gen_text, gen_time, tokens, rep
# Gradio Interface
demo = gr.Interface(
fn=full_pipeline,
inputs=[
gr.Textbox(label="✍️ Enter Tamil Text", lines=5, placeholder="எனது கனவு வீட்டை வர்ணிக்க..."),
gr.Textbox(label="📘 (Optional) Reference English Translation", lines=2)
],
outputs=[
gr.Textbox(label="📝 English Translation"),
gr.Number(label="⏱️ Translation Time (s)"),
gr.Number(label="📊 ROUGE-L Score"),
gr.Image(label="🎨 Generated Image (256x256)"),
gr.Number(label="🖼️ Image Generation Time (s)"),
gr.Textbox(label="💡 Creative English Text"),
gr.Number(label="🕒 Text Generation Time (s)"),
gr.Number(label="🔢 Number of Tokens"),
gr.Number(label="♻️ Repetition Rate")
],
title="🌐 Tamil to English Translator + Image & Text Generator",
description="Translate Tamil to English using MBart50 → Generate AI Image using StabilityAI → Generate Creative Text using GPT-2",
theme="soft",
allow_flagging="never"
)
if __name__ == "__main__":
demo.launch()