File size: 1,876 Bytes
ab46a3f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
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()