|
import streamlit as st |
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
|
|
|
model_name = "Zeref02210217-cst/en_to_dzo_nllb_mul_mt_nlp_m4" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False) |
|
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) |
|
|
|
|
|
st.title("English to Dzongkha Translation") |
|
st.write("This app uses the NLLB model for translating English text to Dzongkha.") |
|
|
|
|
|
input_text = st.text_area("Enter English text here:") |
|
|
|
|
|
if st.button("Translate"): |
|
if input_text.strip(): |
|
with st.spinner("Translating..."): |
|
|
|
inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True, max_length=512) |
|
|
|
|
|
bos_token_id = tokenizer.convert_tokens_to_ids("dzo_Tibt") |
|
|
|
|
|
translated_tokens = model.generate( |
|
**inputs, |
|
forced_bos_token_id=bos_token_id, |
|
max_length=30 |
|
) |
|
|
|
|
|
translation = tokenizer.decode(translated_tokens[0], skip_special_tokens=True) |
|
|
|
|
|
st.success("Translation complete!") |
|
st.text_area("Translated Dzongkha Text:", translation, height=200) |
|
else: |
|
st.warning("Please enter some text to translate!") |
|
|