File size: 3,029 Bytes
e8e9699
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f123fda
522fc1f
ccc8077
f123fda
522fc1f
ccc8077
 
522fc1f
d69d539
ccc8077
 
d69d539
ccc8077
 
 
 
 
 
522fc1f
 
ccc8077
 
 
 
 
 
b5f1962
ccc8077
f123fda
ccc8077
522fc1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# import gradio as gr
# from translate import translate_text
# from image_generator import generate_image

# def chatbot(input_text, src_lang="auto"):
#     # Translate input to English
#     translated_text = translate_text(input_text, src_lang, "en")
#     # Generate image based on translated text
#     image_path = generate_image(f"A scene depicting: {translated_text}")
#     return translated_text, image_path

# interface = gr.Interface(
#     fn=chatbot,
#     inputs=[
#         gr.Textbox(label="Input Text"),
#         gr.Dropdown(choices=["auto", "es", "fr", "de"], label="Source Language")
#     ],
#     outputs=[
#         gr.Textbox(label="Translated Text"),
#         gr.Image(label="Generated Image")
#     ],
#     title="English Language Learning Chatbot"
# )

# if __name__ == "__main__":
#     interface.launch()


import gradio as gr
from translate import translate_text
from image_generator import generate_image

def chatbot(input_text, src_lang="auto"):
    """Process user input, translate it, and generate an image."""
    # Translate input to English
    translated_text = translate_text(input_text, src_lang, "en")
    
    # Generate an image based on the translated text
    image_path = generate_image(f"A scene depicting: {translated_text}")
    
    return translated_text, image_path

# Gradio Interface
interface = gr.Interface(
    fn=chatbot,
    inputs=[
        gr.Textbox(label="Enter text in any language"),
        gr.Textbox(label="Source Language (optional, e.g., 'es' for Spanish)", value="auto"),
    ],
    outputs=[
        gr.Textbox(label="Translated Text"),
        gr.Image(label="Generated Image"),
    ],
    title="LinguaVision - Multilingual Chatbot with Image Generation",
    description="Enter text in any language to translate it into English and generate an image based on the text.",
)

if __name__ == "__main__":
    interface.launch(share=True)


# import gradio as gr
# from translate import translate_text
# from image_generator import generate_image
# def chatbot(input_text, src_lang="auto"):
#     """Process user input, translate it, and generate an image."""
#     # Translate input to English
#     translated_text = translate_text(input_text, src_lang, "en")
#     # Generate an image based on the translated text
#     image_path = generate_image(f"A scene depicting: {translated_text}")
#     return translated_text, image_path
# # Gradio Interface
# interface = gr.Interface(
#     fn=chatbot,
#         inputs=[
# gr.Textbox(label="Enter text in any language"),
# gr.Textbox(label="Source Language (optional, e.g., 'es' for Spanish)", value="auto"),
#  ],
# outputs=[
# gr.Textbox(label="Translated Text"),
# gr.Image(label="Generated Image"),
#  ],
# title="LinguaVision - Multilingual Chatbot with Image Generation",
# description="Enter text in any language to translate it into English and generate an image based on the text.\n NOTE: This tool takes approximately 12 minutes to execute.",
# )
# if name == "main":
# interface.launch(share=True)