Spaces:
Sleeping
Sleeping
import os | |
import gradio as gr | |
from transformers import pipeline | |
# Fixed model path | |
MODEL_PATH = "BounharAbdelaziz/Terjman-Nano-v2.2" #"BounharAbdelaziz/Terjman-Nano-v2.0-512" | |
TOKEN=os.environ['TOKEN'] | |
# Load the translation pipeline with the fixed model | |
translator = pipeline("translation", model=MODEL_PATH, token=TOKEN) | |
# Translation function | |
def translate_text(text): | |
# Perform translation | |
translated = translator( | |
text, | |
max_length=512, | |
num_beams=4, # Beam search for better quality | |
no_repeat_ngram_size=3, # Avoid repetition | |
early_stopping=True, # Stop when viable translations are found | |
do_sample=False, # Deterministic output | |
pad_token_id=translator.tokenizer.pad_token_id, | |
bos_token_id=translator.tokenizer.bos_token_id, | |
eos_token_id=translator.tokenizer.eos_token_id | |
) | |
return translated[0]["translation_text"] | |
# Gradio app | |
def gradio_app(): | |
with gr.Blocks() as app: | |
gr.Markdown("# 🇲🇦 Terjman-Nano v2.0:") | |
gr.Markdown("Enter the english text you want to translate to moroccan darija.") | |
input_text = gr.Textbox(label="Input Text", placeholder="Enter text to translate...") | |
output_text = gr.Textbox(label="Translated Text", interactive=False) | |
translate_button = gr.Button("Translate") | |
# Link input and output | |
translate_button.click( | |
fn=translate_text, | |
inputs=input_text, | |
outputs=output_text | |
) | |
return app | |
# Run the app | |
if __name__ == "__main__": | |
app = gradio_app() | |
app.launch() | |