File size: 1,030 Bytes
f470ace
edcca00
2eb99f4
edcca00
eb4a125
 
48a14b6
 
 
 
 
 
 
 
696fe3b
2eb99f4
48a14b6
2eb99f4
 
 
 
 
 
 
2ff2e3b
 
 
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
import gradio as gr

import subprocess

from transformers import AutoModel

MODELS_PATH = "./models"
HF_CACHE_DIR = "./hf_cache"

def download_model(repo_id, revision="main"):
    return snapshot_download(repo_id=repo_id, revision=revision, local_dir=os.path.join(MODELS_PATH, repo_id), cache_dir=HF_CACHE_DIR)

model_dir_gl_en = download_model("proxectonos/Nos_MT-OpenNMT-gl-en", revision="main")
model_dir_en_gl = download_model("proxectonos/Nos_MT-OpenNMT-en-gl", revision="main")

def translate(input_text):
    command = f"onmt_translate -src {input_text} -model model_dir_en_gl --output ./output_file.txt --replace_unk"
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    stdout, stderr = process.communicate()
    if process.returncode != 0:
        raise Exception(f"Error occurred: {stderr.decode().strip()}")
    return stdout.decode().strip()

demo = gr.Interface(fn=translate, inputs="textbox", outputs="textbox")
    
if __name__ == "__main__":
    demo.launch()