nroggendorff's picture
Make it thicc
ce9586d verified
raw
history blame
1.54 kB
import gradio as gr
import threading
from translation import Translator, LANGUAGES, MODEL_URL
translator = Translator()
lang_list = list(LANGUAGES.keys())
@gr.cache
def translate(text, src, trg, **kwargs):
src_lang, tgt_lang = LANGUAGES.get(src), LANGUAGES.get(trg)
return translator.translate(text, src_lang, tgt_lang, **kwargs)
interface = gr.Interface(
fn=translate,
inputs=[
gr.Textbox(label="Text", lines=2, description="Enter the text you want to translate."),
gr.Dropdown(lang_list, type="value", label='Source Language', value=lang_list[0], description="Select the language of the input text."),
gr.Dropdown(lang_list, type="value", label='Target Language', value=lang_list[1], description="Select the language you want to translate to."),
gr.Checkbox(label="By Sentence", value=True, description="Translate the text sentence by sentence."),
gr.Checkbox(label="Preprocess", value=True, description="Preprocess the text before translation."),
gr.Checkbox(label="Randomize", value=False, description="Randomize the translation output."),
gr.Slider(value=4, label="Number of Beams", minimum=1, maximum=5, step=1, description="Select the number of beams for the translation process.")
],
outputs="text",
title='Erzya-Russian Translation',
article=f"Model: https://huggingface.co/{MODEL_URL}"
)
if __name__ == '__main__':
threading.Thread(target=interface.launch, kwargs=dict(share=True, server_name="0.0.0.0", server_port=7860)).start()