BounharAbdelaziz's picture
Update app.py
07b4fae verified
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()